Android のAlarmManager Javadoc 状態
When an alarm goes off, the Intent that had been registered for it is broadcast by the system,
AlarmService
Android で提供される API デモには (パッケージ com.example.android.apis.app) があり、使用中の AlarmService を示しています。
その中には次のものがあります(明確にするために編集されています):
PendingIntent mAlarmSender = PendingIntent.getService(AlarmService.this,
0, new Intent(AlarmService.this, AlarmService_Service.class), 0);
AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP, firstTime, 30*1000, mAlarmSender);
したがって、この例では、 Javadoc が決して言及していないPendingIntent mAlarmSender = PendingIntent.getBroadcast(...);
代わりにa を実行しません。getService
これについて質問している理由は、CPU ウェイクロックの影響によるものです。Javadoc によると、ブロードキャスト レシーバーが戻ると、AlarmManger のウェイク ロックが解放されonReceive()
ます。
私が疑問に思っているのは、例のようにアラームを使用した場合、ウェイクロックの意味は何ですか? Javadoc はこれに対処していないようです。どちらかといえば、アラームを設定するときにブロードキャスト技術を使用する必要があることを暗示しているようです.