1

こんにちは、私は AlarmManager を使用しているアプリケーションを開発しています

問題

特定の日付と時刻にアラームマネージャーを使用して保留中のインテントを設定すると正常に動作しますが、アラーム時刻を日付 30-05-2011 と時刻 10:00 AM に設定し、現在の時刻が日付 30-05-2011 と時刻 09 であると仮定します。午前 50 時、保留中のインテントを作成した後、デバイスの電源を切り、午前 10 時 1 分以降にデバイスを起動します。午前 10 時のアラームの通知を期待していますが、通知を受け取っていません切り替え後私の携帯で

4

2 に答える 2

2

AlarmManager を使用すると、スリープ状態のデバイスのみを起動できます。

これを行うには、setRepeating(int 型、長い triggerAtTime、長い間隔、PendingIntent 操作) または set(...) を使用します。

RTC_WAKEUP または ELAPSED_REALTIME_WAKEUP で

ただし、オフのデバイスでは機能しません。そのため、アプリが最後にオンになった時間とともにアラームをデータベースに保持することを検討し、最後に起動してから見逃したアラームを数えます。

よろしく、ステファン

于 2011-05-30T04:59:20.117 に答える
1

AlarmManager API doc ページを読んだ場合:

登録されたアラームは、デバイスがスリープ状態の間保持されます (また、その間にアラームがオフになった場合はオプションでデバイスをウェイクアップできます) が、オフにして再起動するとクリアされます。

別の方法として、インテントのブロードキャスト レシーバーを登録しandroid.intent.action.BOOT_COMPLETED、アクションを実行する必要がある場合は SharedPreferences を確認できます。

ブロードキャストの詳細については、この質問を参照してください: Android の起動時にサービスを開始しようとしている

于 2011-05-30T04:54:43.423 に答える