0

特定の時間にアラームを停止する方法はありますか。たとえば、午前 7 時 45 分にアラームを開始し、5 分ごとに繰り返します。その後、時刻がすでに午前 8 時にアラームを停止したいと考えていました。

アラーム マネージャーの cancel() メソッドはアクション (PendingIntent) のみを受け入れるため、このアルゴリズムをどのように使用すればよいですか?

第二に、サービスに関しては、チェッカーまたは if ステートメントをサービスに配置して、すでに 8:00a かどうかを確認するという考えがありますが、サービスが常にバックグラウンドで実行されているかどうかはわかりません。午前8時の場合は常に時間をチェックしますか? 明示的に指示されない限り、一度開始すると停止しないというサービスの意味を考えると。

これを行う方法を知っている人は、共有してください。今ちょっと混乱しています

4

2 に答える 2

0

アラームが初めて開始されたときにサービスを開始する必要があります。このサービスは5分でアラームを鳴らし、デバイスの時間を取得して、その時間を停止する時間と比較します(午前8時を意味します)サービスを停止します

于 2012-09-14T07:13:25.337 に答える
0

AlarmManager#setRepeatingを使用して午前 7 時 45 分に必要なことを開始し、 AlarmManager#setを使用して別のアラームを設定して前のアラームを停止してみませんか?

AlarmManager#set は一度だけ起動されるため、繰り返しアラームをキャンセルするために使用できます

編集: の実装ではAlarmManager#set、繰り返されるアラーム ( AlarmManager#setRepeating) を取得cancel()し、

于 2012-09-14T07:27:05.393 に答える