Android程序:使用系统服务*1.获取网络状态 * 2.打开关闭wifi * 3.获取系统音量 * 4.获取运行程序的包名

来源:互联网 发布:安全第一网络银行 编辑:程序博客网 时间:2024/05/22 10:42
/* * 使用系统服务 * 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"/>
0 0