7

サービスを作成する AsyncTask を作成しましたが、サービスから AsyncTask メッセージに送信したいと考えています。AsyncTask の私のコードは次のとおりです。

  class ResponseHandler extends Handler {
  public void handleMessage(Message message) {
       // Toast.makeText(this, "message from service",Toast.LENGTH_SHORT).show();
 }

サービスからのメッセージが処理されることを願っています。間違っている場合は修正してください。

そしてサービスからこれをやろうとしました

     Message message = Message.obtain(null, MyService.ADD_RESPONSE_HANDLER);
     message.replyTo = messenger;
      try {
             myService.send(message);
             catch (RemoteException e) {
             e.printStackTrace();
         }

しかし、私のエラーは行にシンボルが見つかりません:

 MyService.ADD_RESPONSE_HANDLER
  message.replyTo = messenger;
  try {
  myService.send(message);

何を追加する必要がありますか? 作業を行うコードを教えてください。どうもありがとう。

4

2 に答える 2

7

1つの方法はを使用することResultReceiverです。これが私が最近例とともに投稿した私の完全なブログ投稿です。

How to update Activity from Service using ResultReceiver

于 2012-06-29T09:42:05.777 に答える
4

メッセージまたは任意のデータをサービスからアクティビティに送信するには、カスタム ブロードキャスト レシーバーを登録する必要があります。サービスからアクティビティにデータを送信する方法については、次のチュートリアルを参照してください。

サービスとアクティビティ間の通信 – パート 1

レシーバーを使用したカスタム インテントとブロードキャスト

于 2012-06-29T09:46:18.230 に答える