ハンドラはプロセス間で動作しますか?

RemoteService(別プロセス)

 catch (ConnectException c) {
                TweetViewActivity.h.sendEmptyMessage(0);
            } 

TweetViewActivity

    static public Handler h;

     class LooperThread extends Thread {
          public Handler mHandler;

          public void run() {
              Looper.prepare();
              h = new Handler(new Handler.Callback() {
                @Override
                public boolean handleMessage(Message msg) {
                    Log.e("TAG", "handleMessage");
                    return true;
                }
            });
              Looper.loop();
          }
      }

このコードは制御できないのですか?

Log.e("TAG", "handleMessage");
1

1 答え

それは動作しません。静的データは通常のヒープ割り当てデータと同様にプロセスローカルです。

Intentを使用するか、サービスのIBinder経由ですでにクロスプロセス通信を行っているので、RemoteServiceのaidlを拡張してコールバックインターフェイスを追加します。

1
追加された