android 管理类Manager(最近在总结这个,不全,待续)
1、PowerManager:主要是用来控制电源状态,设置屏幕状态,和电池待机状态
PowerManager pm = ((PowerManager)getSystemService(POWER_SERVICE));
这里我需要保持屏幕长期唤醒,不被锁屏,所以我调用WakeLock。
WakeLock wake = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | Powe r Manager.ON_AFTER_RELEASE, **Activity.class );
wake.acquire();//请求执行
ps:一些相关的flag。
PARTIAL_WAKE_LOCK : 保持CPU 运转,屏幕和键盘灯有可能是关闭的。
SCREEN_DIM_WAKE_LOCK:保持CPU 运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯
SCREEN_BRIGHT_WAKE_LOCK:保持CPU 运转,允许保持屏幕高亮显示,允许关闭键盘灯
FULL_WAKE_LOCK : 保持CPU 运转,保持屏幕高亮显示,键盘灯也保持亮度
权限获得:
- <uses-permission android:name="android.permission.WAKE_LOCK" />
2、WifiManager:无限管理相关的,获得wifi链接名字,判断是否链接,开关等一些和无线相关
- WifiManager manager = (WifiManager)context.getSystemService(Context.WIFI_SERVICE);
获得wifimanager后调用
- WifiInfo info = manager.getConnectionInfo();
wifiinfo里面包含很多东西,无限的IP,名字,ISSID,物理地址等很多信息,这里我需要获得查看是否链接实验室的无线获得无线的名字,名字是SSID。
- String ssId = info.getSSID();
还有控制wifi开关
- manager.setWifiEnabled(true);//打开wifi
- manager.setWifiEnabled(false);// 关闭wifi<span style="font-family: 'Microsoft YaHei', 微软雅黑, SimHei, tahoma, arial, helvetica, sans-serif;"> </span>
获得相关权限有:
- <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
- <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
3、ConnectivityManager:主要管理网络连接相关操作
- ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
- NetWorkInfo netinfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI)
NetWorkInfo里面就包括网络连接的信息,包括连接状态,网络是否可用等相关操作
- int code = netinfo.getState();
- if (wifiState == State.CONNECTED || wifiState == State.CONNECTING)
- return 200;// 连接成功
- else
- return 500; // 连接失败
获得权限:
- <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
4、ActivityManager:是与系统中所有运行着的Activity交互提供了接口,主要的接口围绕着运行中的进程信息,任务信息,服务信息等。
- ActivityManager am = (ActivityManager) this.getSystemService(ACTIVITY_SERVICE);
通过activityManager可以获得很多相关信息:通过名字就可以看出相关信息
- <span style="font-family: 'Microsoft YaHei', 微软雅黑, SimHei, tahoma, arial, helvetica, sans-serif;">MemoryInfo mi = new MemoryInfo();
- am.getMemoryInfo(mi);
- am.getRunningAppProcesses();
- am.getRunningServices();
- am.getDeviceConfigurationInfo();
- am.killBackgroundProcessed(PackageName);
- am.restartPackage(PackageName);
- </span>……
5、TelephonyManager主要是设计到和手机相关的操作,获得手机一些相关信息,硬件信息,产地等很多信息
- TelephonyManager telephone = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
- String imei = telephone.getDeviceId();
- String model = Build.MODEL;
- String manufactrer = Build.MANUFACTURER;
- String id = Build.ID;