80,350
社区成员
发帖
与我相关
我的任务
分享
@Override
protected void onPause() {
super.onPause();
// handler.postDelayed(bluetooth, TIME); //4分钟执行一次
releaseWakeLock();
}
// 释放设备电源锁
private void releaseWakeLock() {
if (null != wakeLock && wakeLock.isHeld()) {
Log.i("WakeLock", "call releaseWakeLock");
wakeLock.release();
wakeLock = null;
}
}
@Override
protected void onResume() {
super.onResume();
acquireWakeLock();
}
/**
* 获取电源锁,保持该服务在屏幕熄灭时仍然获取CPU时,保持运行
*/
private void acquireWakeLock() {
if (null == wakeLock) {
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK
| PowerManager.ON_AFTER_RELEASE, getClass()
.getCanonicalName());
if (null != wakeLock) {
Log.i("WakeLock", "call acquireWakeLock");
wakeLock.acquire();
}
}
}