从你的服务,你可以与WakeLock互动:
采集WakeLock有:
PowerManager powerMan = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wakeLock = powerMan.newWakeLock(
PowerManager.SCREEN_DIM_WAKE_LOCK |
PowerManager.ACQUIRE_CAUSES_WAKEUP, "wakelockTag");
然后打开屏幕上:
wakeLock.acquire();
然后打开它再次关闭:
wakeLock.release();
你可以把它放到一个有睡眠的Thread或使用Timer来创建闪存。
例如:
new Thread() {
public void run() {
boolean screenOn = false;
for (int i = 0; i < 5; i++) {
try {
sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
if (screenOn) {
wakeLock.acquire();
} else {
wakeLock.release();
}
}
}
}.run();
它不会是黑/白,只是开/关。
如果你想要去黑/白,你将不得不也脱离KeyLock(中查找的Android键盘保护),然后按下一个Activity这是全黑的,然后更改Activity白上一个Timer或在之前的Thread中。更多的工作。
记住要获得许可在AndroidManifest.xml:
其他权限将需要解锁KeyGuard如果你走这条路线。