4.2より前のバージョンのAndroidでは、通知がアプリに届いたときに画面をフラッシュするためのコードがありました(ユーザーがフラッシュしたい場合)。私が使用した:
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(
PowerManager.SCREEN_DIM_WAKE_LOCK |
PowerManager.ACQUIRE_CAUSES_WAKEUP, "example_tag"
);
wl.acquire();
//this would switch the screen on
//then after a little while I'd call
wl.release();
したがって、「aquire」メソッドは画面をオンに切り替え(まだオンになっていない場合)、「release」メソッドは画面を直接オフに戻します。
android 4.2では、ウェイクロックを解除してもスイッチがオフにならないようですが、ディスプレイの画面タイムアウト設定に達した場合のみです(デフォルトは2分と思われます)。
ウェイクロックが解除されたときにスイッチをオフにする方法はありますか?APIで画面のオンとオフを切り替える方法について少し見てきましたが、誰かが何かをしている最中にアプリが画面をオフに切り替えたくないので、使用するかどうかは少しわかりません。ウェイクロックはうまく機能しているようです。助言がありますか?