1

Android用のアラームアプリを作っています。ユーザーがアラームをスケジュールすると、アラームに到達するまでスレッドがカウントされ、アラーム音が鳴ります。

ただし、デバイスがロックされると (30 分後に画面がオフになると) 、カウント スレッドが停止し、再びロックが解除されると、それが数時間後であっても、終了した場所から続行されます。

それはかなり奇妙なアラームアプリになります. AlarmManager を調べましたが、アプリがまだ実行されている場合にのみアラームを発生させたいので、私の場合は適切ではないようです。アプリを終了すると停止するはずです。ただし、AlarmManagerのドキュメントには次のように記載されています。

注: Alarm Manager は、アプリケーションが現在実行されていない場合でも、特定の時間にアプリケーション コードを実行する場合を対象としています。通常のタイミング操作 (ティック、タイムアウトなど) では、Handler を使用する方が簡単で効率的です。

それが言及している「ハンドラー」クラスは、私が達成しようとしているものとはまったく異なるものを意図しているようです。

だから私はあなたに尋ねています:デバイスがロックされていても、どうすればスレッドを存続させ、カウントし続けることができますか? それとも別の方法がありますか?

4

2 に答える 2

2

これを行う必要はありません。アラームのためにスレッドを維持しないでください。AlarmManagerを使用する

また、アプリが「実行中」であるかどうかという概念もありません。見える時だけという意味ですか?onPause()でアラームをクリアするだけです。

于 2011-01-17T00:20:33.817 に答える
0

通知を使用しないのはなぜですか? サウンド、バイブレーション、ライト、ステータスバーへのアイコンの表示を設定できます。通知をキャンセルする場合は、NotificationManager を使用します。

http://developer.android.com/guide/topics/ui/notifiers/notifications.html#CreateANotification

ゲールト

于 2011-01-16T22:11:24.257 に答える