2016-04-05 9 views
-1

AlarmManagerを使用して1時間ごとにサービスをスケジュールしますが、画面がロックされていない場合にのみ必要なので、最終的なユーザーがデバイスを使用しています。 変数SCREEN_ONとSCREEN_OFFでAlarmManagerを使用しようとしましたが、成功しませんでした。 AlarmManagerの繰り返しスケジュールを設定する方法を理解できません。Androidのサービス開始画面がオンのとき

+0

私が知る限り、ユーザーがデバイスを使用している場合に応じて、AlarmManagerクラスを設定することはできません。時間に応じてアラームを設定することができ、デバイスの画面がアクティブか非アクティブかを確認する必要があります。 また、サービスが開始されたときに画面を再起動することもできます。そのプロパティを使用して、startActivity()を呼び出す前にonReceive()でWakeLockを取得し、ユーザがあなたのアクティビティに応答した後にそのWakeLockを解放する必要があります。 –

答えて

2

サービスを実行する前に、画面がオフかオンかを確認してください。

KeyguardManager keyguardManager = (KeyguardManager)context.getSystemService(Context.KEYGUARD_SERVICE); 
if(!keyguardManager.inKeyguardRestrictedInputMode()) { 
// Code here. 
} 
+0

はい、便利です。 それでは、画面がオンになってすぐにサービスを開始しますか? –

+0

毎時AlarmManagerからの応答がありますか? –

+0

はい...私はいつも応答を受け取ります –

関連する問題