AlarmManager生成されたブロードキャストでアプリウィジェットを更新するのはあまりうまくいきません。これが私がすることです:
で初期AlarmManager化AppWidgetProvider#onEnabled
AlarmManager alarms = (AlarmManager) context.getSystemService(
Context.ALARM_SERVICE);
alarms.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
SystemClock.elapsedRealtime(), 60000, pendingIntent);
また、によって起動された更新を単にリッスンするブロードキャストレシーバーを定義しますAlarmManager。AsyncTask更新が実行されると、ネットワーク呼び出しを行うコードが実行されます。AsyncTaskが完了すると()onPostExecute、以前に取得したインスタンスを使用しAppWidgetManagerてウィジェットを更新します。ログにメッセージが表示されるまで、すべてが実際に正常に実行されます。"Process com.foo.myapp (pid 12345) has died"その後、AlarmManager別の更新が実行されることはありません。
アラームを再開する何らかのチェックが必要ですか?たとえば、ユーザーがウィジェットの親アプリにアクセスする場合はどうなりますか?リクエストの途中でアプリが停止した場合に、長時間実行されるタスクを完了してウィジェットに戻ることができるようにするにはどうすればよいですか?