3

アプリケーション用に Android AppWidget を開発しています。appwidget を更新するには、ネットワークからデータをダウンロードする必要があります。しかし、onUpdate メソッドでそれを実行しようとすると、appWidget が Android システムによって強制終了されます。時間のかかる操作はレシーバーではできないことがわかったので、onUpdate メソッドからサービスを起動し、そこからスレッドを起動しました。しかし、それでも問題は解決しません。Appwidget でネットワーク操作を行う方法を教えてください。

4

1 に答える 1

3

ダウンロード作業をサービスに委任します。作業中にデバイスがスリープ状態になるリスクがあるかどうかに応じてIntentService、おそらく 、場合によっては です。WakefulIntentService

を呼び出すAppWidgetProviderだけstartService()ですIntentService

あなたのメソッドは、静的メソッドを介して独自のものを取得IntentService's onHandleIntent()し、現在 で行っている作業を行います。ただし、バックグラウンド スレッドで実行されるため、必要なだけ時間をかけることができます。未処理の作業要求がすべて処理されると、 も自動的にシャットダウンします。onUpdate()AppWidgetManagergetInstance()onHandleIntent()IntentService

于 2010-08-22T05:30:16.980 に答える