/*
* 使用系统服务
* 1.获取网络状态
* 2.打开关闭wifi
* 3.获取系统音量
* 4.获取运行程序的包名
*/
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void doClick(View v){
switch (v.getId()) {
case R.id.network:
if(isNetWorkConnected(MainActivity.this)){
Toast.makeText(MainActivity.this, "网络已连接", Toast.LENGTH_SHORT).show();
}else {
Toast.makeText(MainActivity.this, "网络未连接", Toast.LENGTH_SHORT).show();
}
break;
case R.id.enableOrDisable_WiFI:
//获取wifi管理器
WifiManager wifiManager=(WifiManager) MainActivity.this.getSystemService(WIFI_SERVICE);
if(wifiManager.isWifiEnabled()){
wifiManager.setWifiEnabled(false);
Toast.makeText(MainActivity.this, "WIFI已关闭", Toast.LENGTH_SHORT).show();
}else {
wifiManager.setWifiEnabled(true);
Toast.makeText(MainActivity.this, "WIFI已打开", Toast.LENGTH_SHORT).show();
}
break;
case R.id.getVoice:
//获取音量管理器
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.getPackageName:
//获取activityManager
ActivityManager activityManager=(ActivityManager) MainActivity.this.getSystemService(ACTIVITY_SERVICE);
//获取当前顶部进程的名字
String packageName=activityManager.getRunningTasks(1).get(0).topActivity.getPackageName();
Toast.makeText(MainActivity.this, "当前运行的activity的包名:"+packageName, Toast.LENGTH_SHORT).show();
break;
}
}
public boolean isNetWorkConnected(Context context){
if(context!=null){
//获取网络连接的对象
ConnectivityManager mConnectivityManager=(ConnectivityManager) context.getSystemService(CONNECTIVITY_SERVICE);
//获取网络信息的对象
NetworkInfo mNetworkInfo=mConnectivityManager.getActiveNetworkInfo();
if(mNetworkInfo!=null){
return mNetworkInfo.isAvailable();
}
}
return false;
}
}
需要加上以下四个权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission android:name="android.permission.GET_TASKS"/>