本节引言:
1.PowerManager是什么
2.wakelock锁介绍
ps:关于更加深入的内容就涉及到底层的内容了,笔者水平有限,还没到那个level, 这里就不深入研究了,就说一些基本的吧,以后有需要的话,再另开一篇吧~
3.PowerManager怎么用
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE); PowerManager.WakeLock w1 = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "MyTag"); w1.acquire(); //在这个过程,屏幕会保持光亮! w1.release();
上述newWakeLock( )的第一个flag标记,这些标记不同程度的影响系统电源.
这些标记都是独占的,并且每次只能指定其中一个。
PARTIAL_WAKE_LOCK:保持CPU 运转,屏幕和键盘灯有可能是关闭的。
SCREEN_DIM_WAKE_LOCK:保持CPU 运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯
SCREEN_BRIGHT_WAKE_LOCK:保持CPU 运转,允许保持屏幕高亮显示,允许关闭键盘灯
FULL_WAKE_LOCK:保持CPU 运转,保持屏幕高亮显示,键盘灯也保持亮度
屏幕解锁参数:
4.需要的权限
要进行电源的操作需要在AndroidManifest.xml中声明该应用有设置电源管理的权限:
<uses-permission android:name="android.permission.WAKE_LOCK"/>
你可能还需要:
<uses-permission android:name="android.permission.DEVICE_POWER"/>
另外WakeLock的设置是Activity级别的,而不是针对整个Application应用的!