使用の背後にあるポイントAlarmManager
は、サービスが実際の作業を行っているときにのみメモリ内にある必要があり、AlarmManager
イベントの合間に消えることができるようにすることです。あなたはそれを何とかしなかったので、あなたのコードは確実に機能しません。
「9分ごとにメールを送信」する場合は、次のようにする必要があります。
をパブリックJavaクラスに移動し、要素BroadcastReceiver
を介してマニフェストに登録し、 /<receiver>
を削除します。registerReceiver()
unregisterReceiver()
サービスをに切り替えてIntentService
、バックグラウンドスレッド(作業に必要ですが、現在のコードが不足している)を取得し、実行する作業がなくなったときにサービスを自動的にシャットダウンできるようにします。
-スタイルのアラームWakeLock
を使用しているため、必要になるロジックを追加します。必要に応じて、my_WAKEUP
に切り替えることで、これと前の手順を組み合わせることができます。WakefulIntentService
を介してアラームを再度スケジュールするなど、再起動後もアラームを継続する場合は、ユーザーがデバイスを再起動する場合に対処しますACTION_BOOT_COMPLETED
BroadcastReceiver
。