0

9分ごとに実行してメールを送信するAndroidサービスがありますが、数サイクル後に終了します。このアプリは私のAndroidフローズンヨーグルトにもインストールされていますが、2か月以上動作しています..サービスが終了したことをlogcatのログで確認できますが、問題はそれが何を意味するのか理解できないことです..誰かがこれを手伝ってくれますか?ありがとう!!どんな助けもいただければ幸いです...

これが私のソースコードです: https ://gist.github.com/77a40ac93cd311acb56c

Logcatログ:

https://gist.github.com/dd3ab385d79253fac632

4

1 に答える 1

0

使用の背後にあるポイントAlarmManagerは、サービスが実際の作業を行っているときにのみメモリ内にある必要があり、AlarmManagerイベントの合間に消えることができるようにすることです。あなたはそれを何とかしなかったので、あなたのコードは確実に機能しません。

「9分ごとにメールを送信」する場合は、次のようにする必要があります。

  1. をパブリックJavaクラスに移動し、要素BroadcastReceiverを介してマニフェストに登録し、 /<receiver>を削除します。registerReceiver()unregisterReceiver()

  2. サービスをに切り替えてIntentService、バックグラウンドスレッド(作業に必要ですが、現在のコードが不足している)を取得し、実行する作業がなくなったときにサービスを自動的にシャットダウンできるようにします。

  3. -スタイルのアラームWakeLockを使用しているため、必要になるロジックを追加します。必要に応じて、my_WAKEUPに切り替えることで、これと前の手順を組み合わせることができます。WakefulIntentService

  4. を介してアラームを再度スケジュールするなど、再起動後もアラームを継続する場合は、ユーザーがデバイスを再起動する場合に対処しますACTION_BOOT_COMPLETED BroadcastReceiver

于 2012-11-04T14:06:01.450 に答える