防止手机进入休眠状态而导致程序不能正常运行——WakeLock

防止安卓手机进入休眠状态 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中就算加入该权限,也不能获得相应功能–可以不加。

你可能感兴趣的:(我的)