Android PowerManager的使用

唤醒锁定

如果需要使 CPU 保持运行状态,以便在设备进入休眠模式之前完成某项工作,可以使用“唤醒锁定” 。

添加权限


设置唤醒锁定

PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
powerManager.isInteractive();
PowerManager.WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
            "MyApp::MyWakelockTag");
wakeLock.acquire();
wakeLock.acquire(10*60*1000L /*10 minutes*/);        

默认用 wakeLock.acquire() ,使用后要及时释放。

wakeLock.acquire(10 * 60 * 1000L /* 10 minutes */); 是 AS 报黄提示的修改 , acquire(long timeout) 方法会在指定时间后自动释放唤醒锁。

释放唤醒锁定

wakeLock.release();

判断系统屏幕亮灭

一般屏幕亮起、关闭的时候会分别触发 android.intent.action.SCREEN_ONandroid.intent.action.SCREEN_OFF 广播。

屏幕亮起、关闭的瞬间可以通过广播判断,不在这个瞬间就用 isInteractive() .

isScreenOn 已废弃。

PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
//powerManager.isScreenOn();
powerManager.isInteractive();

重启设备

需要是系统应用。

添加权限


执行重启,

PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
powerManager.reboot(null);

你可能感兴趣的:(android,PowerManager)