アプリケーション用に Android AppWidget を開発しています。appwidget を更新するには、ネットワークからデータをダウンロードする必要があります。しかし、onUpdate メソッドでそれを実行しようとすると、appWidget が Android システムによって強制終了されます。時間のかかる操作はレシーバーではできないことがわかったので、onUpdate メソッドからサービスを起動し、そこからスレッドを起動しました。しかし、それでも問題は解決しません。Appwidget でネットワーク操作を行う方法を教えてください。
1366 次
1 に答える
3
ダウンロード作業をサービスに委任します。作業中にデバイスがスリープ状態になるリスクがあるかどうかに応じてIntentService
、おそらく 、場合によっては です。WakefulIntentService
を呼び出すAppWidgetProvider
だけstartService()
ですIntentService
。
あなたのメソッドは、静的メソッドを介して独自のものを取得IntentService's
onHandleIntent()
し、現在 で行っている作業を行います。ただし、バックグラウンド スレッドで実行されるため、必要なだけ時間をかけることができます。未処理の作業要求がすべて処理されると、 も自動的にシャットダウンします。onUpdate()
AppWidgetManager
getInstance()
onHandleIntent()
IntentService
于 2010-08-22T05:30:16.980 に答える