Android デバイスで頻繁に実行する必要があるタスクがあります。起動時に次のコードを実行します。
am = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
pollIntent = new Intent(context,PollTask.class);
pollPendingIntent = PendingIntent.getBroadcast(context, 0, pollIntent, 0);
am.setRepeating(AlarmManager.RTC_WAKEUP,
System.currentTimeMillis(), 1000*15, pollPendingIntent);
バッテリーの使用について私をしつこく言わないでください。これはカスタム組み込みアプリケーション用であるため、問題ではありません。
問題は、このタスクが一定時間後に頻繁に実行を停止することです。logcat の表示を開始すると、15 秒ごとに、動作が停止した後、インテントを起動できず、「プロセスが不良です」というエラーが表示されることに気付きました。この時点で、コードで別のプロセスを使用していました
android:process=":remote"
PollTask ブロードキャスト レシーバーの Android マニフェストで。
このコードを削除したので、ブロードキャスト レシーバーをデフォルト スレッドで実行するだけになりました。うまくいっているようですが、正確な問題が何であるかを知っていれば、もっと満足できます。残念ながら、前述のエラー メッセージはまったく詳細ではありませんでした。連続してどれくらいの時間実行できるかを確認するために、現在もいくつかのデバイスでこれをテストしています。
このエラーについて何を知る必要がありますか? 同じプロセスを使用することの欠点はありますか?