标签:
目标效果:
点击图示按钮,可以根据提示内容进行判断网络是否连接,开关WIFI,获取音量值和获取进程包名。
1.activity_main.xml页面放置所有的Button控件。
activity_main.xml页面:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" > <Button android:id="@+id/btNetWork" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:text="判断网络是否连接" /> <Button android:id="@+id/btChangeWIFI" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/btNetWork" android:text="开关WIFI" /> <Button android:id="@+id/btGetVoice" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/btChangeWIFI" android:text="获取系统音量" /> <Button android:id="@+id/btGetPackagename" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/btGetVoice" android:text="获取当前进程包名" /> </RelativeLayout>
package com.example.systemservice; import android.media.AudioManager; import android.net.ConnectivityManager; import android.net.NetworkInfo; import android.net.wifi.WifiManager; import android.os.Bundle; import android.app.Activity; import android.app.ActivityManager; import android.content.Context; import android.view.LayoutInflater; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener{ private Button btNetWork,btChangeWIFI,btGetVoice,btGetPackagename; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /*另一种方式绑定xml页面*/ LayoutInflater inflater=(LayoutInflater) MainActivity.this.getSystemService(LAYOUT_INFLATER_SERVICE); View view=inflater.inflate(R.layout.activity_main,null); setContentView(view); getId(); bindClick(); } private void getId() { btNetWork=(Button) findViewById(R.id.btNetWork); btChangeWIFI=(Button) findViewById(R.id.btChangeWIFI); btGetVoice=(Button) findViewById(R.id.btGetVoice); btGetPackagename=(Button) findViewById(R.id.btGetPackagename); } private void bindClick() { btNetWork.setOnClickListener(this); btChangeWIFI.setOnClickListener(this); btGetVoice.setOnClickListener(this); btGetPackagename.setOnClickListener(this); } @Override public void onClick(View view) { switch (view.getId()) { case R.id.btNetWork: if(isNetWorkConnected(MainActivity.this)==true){ Toast.makeText(MainActivity.this,"网络已经连接",Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(MainActivity.this,"网络未连接",Toast.LENGTH_SHORT).show(); } break; case R.id.btChangeWIFI: WifiManager wifiManager=(WifiManager) MainActivity.this.getSystemService(WIFI_SERVICE);//返回WIFI管理器 if(wifiManager.isWifiEnabled()){//如果当前网络打开 wifiManager.setWifiEnabled(false);//关闭WIFI Toast.makeText(MainActivity.this,"WIFI已经关闭",Toast.LENGTH_SHORT).show(); }else{ wifiManager.setWifiEnabled(true);//关闭WIFI Toast.makeText(MainActivity.this,"WIFI已经打开",Toast.LENGTH_SHORT).show(); } break; case R.id.btGetVoice: AudioManager audioManager=(AudioManager) MainActivity.this.getSystemService(AUDIO_SERVICE);//返回音量管理器 int max=audioManager.getStreamMaxVolume(AudioManager.STREAM_SYSTEM);//获取系统音量最大值 int current=audioManager.getStreamVolume(AudioManager.STREAM_RING);//获取当前铃声音量 Toast.makeText(MainActivity.this,"系统最大音量为:"+max+",当前铃声音量为:"+current,Toast.LENGTH_SHORT).show(); break; case R.id.btGetPackagename: ActivityManager activityManager=(ActivityManager) MainActivity.this.getSystemService(ACTIVITY_SERVICE);//返回当前程序运行状态 String pachageName=activityManager.getRunningTasks(1).get(0).topActivity.getPackageName();//得到包名 Toast.makeText(MainActivity.this,"当前运行的Activity的包名为:"+pachageName,Toast.LENGTH_SHORT).show(); break; } } /*判断网络是否连接*/ public boolean isNetWorkConnected(Context context){ if(context!=null){ ConnectivityManager connecivityManager= (ConnectivityManager) context.getSystemService(CONNECTIVITY_SERVICE);//返回连接管理器 NetworkInfo netWorkInfo=connecivityManager.getActiveNetworkInfo();//获取当前网络的活动状态 if(netWorkInfo!=null){ return netWorkInfo.isAvailable(); } } return false; } }
4.添加好权限运行就显示目标效果了。
标签:
原文地址:http://blog.csdn.net/hester_hester/article/details/51354387