1

毎日トリガーされるアプリケーションでアラームを設定したいと考えています。ドキュメントによると、1回限りのアラームを設定する必要があり、アラーム信号を受信するBroadcastReceiverで翌日のアラームをリセットします。 あれは正しいですか ?

私の BroadcastReceiver はウェイクロックを適切に処理し、このウェイクロックを解放するサービスを起動します。ここではすべて正常に動作します。

しかし、私には問題があります。私のアプリケーションには、アラームが発生したときにチェックされるチェックボックスがあります。アラームが鳴っているかどうかを知るために、次の条件を使用します。

Intent intent = new Intent( context, AlarmReceiver.class );
boolean alarmUp = (
PendingIntent.getBroadcast( context, 0, intent, PendingIntent.FLAG_NO_CREATE) != null)

しかし、これはあまりうまく機能していないようです。アラームが発生しているかどうかを知る良い方法ですか?

前もって感謝します

4

1 に答える 1

6

質問の最初の部分では、繰り返しアラームを使用するか、現在のようにアラームが発生するたびに新しいアラームをスケジュールすることができます。どちらの方法でも機能します。

ACTION_BOOT_COMPLETED を受信するブロードキャスト レシーバーをセットアップして、電話の再起動時にアラームのスケジュールを変更することもできます。

アラームが存在するかどうかの確認に関しては、FLAG_NO_CREATE を使用した PendingIntent がまさにその方法です。

于 2010-01-21T16:17:57.560 に答える