1

AsyncTask を起動する別のクラスを要求するサービスがあります

サービス -> 気象クラス -> メソッドの実行 -> 非同期タスク -> 実行

これは、によってサービスで開始されます

new Weather(this).execute(); // the execute is a method of the class, not of the AsyncTask

AsyncTask が終了したことを Service で検出して、stopSelf を呼び出すにはどうすればよいですか?

4

2 に答える 2

3

この場合、 stopService(intent)を使用できます。

于 2010-06-26T16:14:14.597 に答える
0

アプリケーションで現在採用されているアプローチは、生成された基になる から発生するブロードキャスト イベントをリッスンするように設定されているBroadcastReceiverに対して単一の を登録することです。サービスが 3 つの AsyncTasks を生成し、3 つの AsyncTasks がすべて完了したときに親サービスを停止したいため、つまり、サービス レベルに対して 3 つのヒットがあるため、これはシナリオに適しています。android.app.ServiceAsyncTask#onPostExecuteBroadcastReceiver

この質問が回答されてからずっと後にこの質問に出くわした後、これをここに追加すると思いましたが、うまくいけば他の誰かに役立つかもしれません...

于 2012-10-24T15:37:24.067 に答える