防止安卓手机进入休眠状态 cpu停止 导致应用死掉~
WakeLock的设置是 Activiy 级别的,不是针对整个Application应用。
//使用wakelock 防止应用程序在手机休眠状态下死掉
初始化
private PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);
private PowerManager.WakeLock wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock");
//保持CPU 运转,屏幕和键盘灯有可能是关闭的。
// newWakeLock(int levelAndFlags, String tag)
levelAndFlags 可设置以下类型:
各种锁的类型对CPU 、屏幕、键盘的影响:
PARTIAL_WAKE_LOCK:保持CPU 运转,屏幕和键盘灯有可能是关闭的。
SCREEN_DIM_WAKE_LOCK:保持CPU 运转,允许保持屏幕显示但有可能是灰的,允许关闭键盘灯
SCREEN_BRIGHT_WAKE_LOCK:保持CPU 运转,允许保持屏幕高亮显示,允许关闭键盘灯
ULL_WAKE_LOCK:保持CPU 运转,保持屏幕高亮显示,键盘灯也保持亮度
需要使用时:
wakeLock.acquire(); //我是在构建activity时获取到 wakelock,-- 根据个人需要
在使用逻辑结束之后 应该及时释放掉—/
//释放的具体使用场景同样根据个人的需要选择
wakeLock.release();//我在销毁当前activity时候释放掉 —- 耗电严重~!!!若不释放掉系统无法进入休眠
要进行电源的操作需要在AndroidManifest.xml中声明该应用有设置电源管理的权限。
uses-permission android:name=”android.permission.WAKE_LOCK”/>
你可能还需要
uses-permission android:name=”android.permission.DEVICE_POWER”/>
!–但是 这个DEVICE_POWER 权限一般只适用于系统应用程序;在app中就算加入该权限,也不能获得相应功能–可以不加。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/35653.html