1

プロジェクトを継承しましたが、応答を取得する方法、または次のコードからコールバックを設定する方法がわかりません:

startService(new Intent(this, VenueUpdateService.class));

現時点では、VenueUpdateService が失敗してもアプリケーションは続行されます。アプリケーションが VenueUpdateService からの成功/失敗を待つように変更したいと考えています。

VenueUpdateService クラス内で成功/失敗に関する応答を受け取ります。しかし、これをサービスを開始したアクティビティに戻すにはどうすればよいでしょうか?

ありがとう、ジェームズ。

4

2 に答える 2

2

あなたが求めていることは、私にはちょっと奇妙に思えます。startService を呼び出すと、Service は常に開始に成功します。startService が、try/call ブロッ​​クでラップする必要がある危険な動作であるとは限りません。

しかし、Activity は onStartCommand でサービスから送信されたブロードキャストを受信する BroadcastReceiver を登録できると思います。

または、サービスにバインドしようとしている場合は、バインドされていることがわかります。ここを参照

于 2012-11-06T02:50:03.973 に答える
-1

私がしたことは、IntentService を AsyncTask に変更することでした。

ユーザーがアプリを使い続ける前に、VenueUpdateService が少なくとも 1 回成功する必要があるため、ユーザーがアプリと対話するのを基本的に停止したかったのです。

だから今私は持っています:

VenueUpdateTask task = new VenueUpdateTask();
task.execute(response);

そのクラス内で進行状況ダイアログを表示し、会場を更新します。

于 2012-11-22T01:54:21.887 に答える