1

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 マニフェストで。

このコードを削除したので、ブロードキャスト レシーバーをデフォルト スレッドで実行するだけになりました。うまくいっているようですが、正確な問題が何であるかを知っていれば、もっと満足できます。残念ながら、前述のエラー メッセージはまったく詳細ではありませんでした。連続してどれくらいの時間実行できるかを確認するために、現在もいくつかのデバイスでこれをテストしています。

このエラーについて何を知る必要がありますか? 同じプロセスを使用することの欠点はありますか?

4

0 に答える 0