問題タブ [alarmmanager]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
6 に答える
88781 参照

java - Android: AlarmManager の使用方法

設定から 20 分後にコード ブロックをトリガーする必要がありますAlarmManager

AlarmManagerAndroid でを使用する方法のサンプル コードを誰かに見せてもらえますか?

私は数日間いくつかのコードをいじっていましたが、うまくいきません。

0 投票する
1 に答える
4346 参照

android - Android-AppWidgets、AlarmManager、AsyncTask

AlarmManager生成されたブロードキャストでアプリウィジェットを更新するのはあまりうまくいきません。これが私がすることです:

で初期AlarmManagerAppWidgetProvider#onEnabled

また、によって起動された更新を単にリッスンするブロードキャストレシーバーを定義しますAlarmManagerAsyncTask更新が実行されると、ネットワーク呼び出しを行うコードが実行されます。AsyncTaskが完了すると()onPostExecute、以前に取得したインスタンスを使用しAppWidgetManagerてウィジェットを更新します。ログにメッセージが表示されるまで、すべてが実際に正常に実行されます。"Process com.foo.myapp (pid 12345) has died"その後、AlarmManager別の更新が実行されることはありません。

アラームを再開する何らかのチェックが必要ですか?たとえば、ユーザーがウィジェットの親アプリにアクセスする場合はどうなりますか?リクエストの途中でアプリが停止した場合に、長時間実行されるタスクを完了してウィジェットに戻ることができるようにするにはどうすればよいですか?

0 投票する
1 に答える
1573 参照

android - Android-AlarmManagerの回復

おかげでTasKiller、私AppWidgetから来る更新をシャットダウンする信頼できる方法がありますAlarmManager

さて、皮肉はさておき、どうすればそのような出来事から立ち直ることができますか?これまでのところAlerts、電話を再起動した後にのみ復活することがわかります。

Activity#onCreateアプリやウィジェットに属するさまざまな場所など、いくつかの場所にリカバリコードを貼り付けることができますが、より良い方法はありますか?

また、アラートに問題がない場合はどうなりますか?それを検出して実行しない方法はありますAlarmManager#setRepeatingか?

それとも、それを複数回実行することに害はありますか?

0 投票する
3 に答える
2031 参照

android - Androidでの通知のスケジュール

将来、異なる時間に複数の通知をスケジュールできるようにする必要があります。

これをAlarmManagerで試してみましたが、次の理由で適切ではありません。AlarmManager.set()から:「スケジュールされたこのインテントのアラームがすでにある場合(filterEquals(Intent)によって定義されている2つのインテントが等しい場合)、それは削除され、このインテントに置き換えられます。」

推測すると、送信インテント、Extraが異なることを除けば同じです(ただし、filterEqualsにはカウントされません)。

では、複数の通知をスケジュールするにはどうすればよいですか?アプリケーションが強制終了されても表示されます(AlarmManagerを試した理由全体)。

ありがとう。

0 投票する
1 に答える
1727 参照

android - AlarmManager.setRepeating はべき等ですか?

私のAndroidアプリでは、繰り返し発生させたいアラームを設定しているため、AlarmManager.setRepeating()を使用しています。

アラームが自分で設定されているかどうかを追跡したくありません (ある時点で失敗する傾向がある悪い考えのように聞こえます)。また、特定のアラームが特定のアラームに対して既に設定されているかどうかを確認するための API サポートがないようです。意図。

したがって、アプリがアクティブになるたびにアラームを悲観的にリセットしています。

質問: setRepeating() の呼び出しは冪等ですか? つまり、以前のアラームを明示的に cancel() する必要がありますか? それとも、安全に setRepeating() を呼び出すだけで完了できますか?

0 投票する
1 に答える
2440 参照

android - アプリが強制終了されると、AlarmManager ブロードキャストがキャンセルされるのはなぜですか?

わかりましたので、2 つの BroadcastReceiver を登録しました。アプリが閉じられると、両方が適切なタイミングで起動し、適切な処理を実行します。

アプリが閉じられてから (AppKiller などで) 強制終了された場合、レシーバーはブロードキャストを受信せず、何も起こりません。

メモリ不足のために親アプリが強制終了された場合もおそらく同じことが起こるので、これらのブロードキャストが確実に起動/受信されるようにするにはどうすればよいですか。API は、アプリが強制終了された場合でも起動する必要があると述べていますが、他の誰かがこの状況を経験したことがありますか?

それが私のマニフェストに役立つ場合:

AlarmManager/BroadcastReceivers では難解なことは何も行われていません

0 投票する
2 に答える
2757 参照

android - Intent.putExtras が一貫していません

AlarmManager に奇妙な状況があります。AlarmManager でイベントをスケジュールし、intent.putExtra を使用して文字列を渡しています。弦は無音または振動のいずれかであり、受話器が発火すると、着信音を鳴らすか、電話を振動するように設定する必要があります。ログステートメントは、毎回期待される値を正しく出力します。

アラームが実行されたときに起動するレシーバーにもログ ステートメントがあり、ステートメントが予想される文字列を SILENT または VIBRATE のいずれかで出力することを初めて確認できますが、その後の実行ごとに、出力はレシーバー側で元の値を示します。アラームが実行され、putExtra の値を反対の文字列に変更すると、上記のコードからの呼び出しは新しい値が渡されたことを示していますが、レシーバーには以前の値イベントが表示されます。setAction の値は毎回同じです。

何かご意見は?

0 投票する
1 に答える
2020 参照

android - 設定変更時にAlarmManagerを再スケジュールする方法

私はAndroidサービスを持っています。電話が起動すると、ブロードキャストレシーバーは通知を受信し、X分のギャップでサービスが繰り返し実行されるようにスケジュールします。今後、X分ごとに、別の放送受信機がそれらの通知を受け取り、サービスを開始します。これにより、その仕事が実行され、終了します。ここまでは順調ですね。

ここで、これらのX分を構成可能にします。以下のリンクにあるようなperf.xmlがあります。このXMLは、サービスタイマーの設定とともにすべての設定をキャプチャします。 http://android-journey.blogspot.com/2010/01/for-almost-any-application-we-need-to.html

ユーザーが設定を変更すると、どうすればアラームのスケジュールを変更できますか?設定の変更についてリスナーを設定する方法はありますか?設定画面を指定するためにXMLファイルのみを使用しました。

どんなアイデアでも大歓迎です。

乾杯

0 投票する
2 に答える
333 参照

android - 毎日発火するキルセーフアラームを配置するにはどうすればよいですか?

繰り返し発生するようにアラームを設定する方法を知っていますが、アプリケーションが強制終了されるとアラームの発生が停止します。

設定時にアラームが鳴り続けるようにするにはどうすればよいですか?

0 投票する
1 に答える
4899 参照

android - Android - 毎日午前 4 時にサービスを実行する

毎日午前 4 時にサービスを実行するためのベスト プラクティスを知りたいです。

私がすべきだと思う方法は、AlarmManager を使用して新しい繰り返しアラームを作成し、午前 4 時にサービスを実行させることです。問題は、アラームを設定するためのコードをどこに置くべきかわからないことです。

OnCreate メソッドの最初のタスクの 1 つとして、メイン アクティビティで実行しますか? BroadcastReceivers とインテントでファンキーなことをしますか? ユーザーがアプリを更新するとどうなりますか? ユーザーが再起動するとどうなりますか?

これらの質問に対するヘルプは大歓迎です:)サンプルコードも役に立ちます!

バラ