プッシュ通知をリッスンしてアクティビティを作成するサービスがあります。デバイスの画面がオフの場合を除いて、すべてが正常に機能します。望ましい動作は、通知によって画面がロック状態のホーム画面に復帰し、通知が表示されることです。
この動作は、次の方法でのみ作成できます。
mWakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK |
PowerManager.ACQUIRE_CAUSES_WAKEUP |
PowerManager.ON_AFTER_RELEASE,
WAKELOCK_KEY);
ただし、Android はFULL_WAKE_LOCK
FLAG_KEEP_SCREEN_ON を支持して非推奨になっているようです。ただし、バックグラウンド サービスから呼び出されるアクティビティでこれを試しました。
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON |
WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
私のログは、このアクティビティが作成されていることを示していますが、画面にはまだこのアクティビティが表示されません。電源ボタンを押すと、ディスプレイにアクティビティが表示され、作成されたことがすぐに証明されます。以下は、私が試したことのいくつかの要約です。
- FULL_WAKE_LOCK (機能しますが非推奨です)
- WindowManager - FLAG_TURN_SCREEN_ON、FLAG_KEEP_SCREEN_ON (動作しません)
- Google WakefulBroadCastReceiver (動作しません)
に代わるものはありますFULL_WAKE_LOCK
か?