Android Messenger

service

  1. 定义一个Handle处理从client传递过来的message
  2. 通过Handle可以new一个service的messenger,serverMessenger = new Messenger(serverHandler);
  3. service需要重写public IBinder onBind(Intent intent),通过serverMessenger.getBinder(),返回IBinder

client

  1. 绑定service,绑定时需要new一个ServiceConnection传入,并在onServiceConnected中获取service的messenger(通过IBinder创建);
  2. 定义一个Handle处理从service传递过来的message;
  3. 通过handle可以new一个client的messenger,并将该messenger通过messenger传递,messageToServer.replyTo = clientMessenger;

通信流程

client绑定service,在onServiceConnected通过IBinder创建service的messenger,创建message,并将自己的messenger通过replyto当道message上send。service获取message后也活得了client的messenger,service通过handle处理message,可以通过client的messenger发送消息给client。

你可能感兴趣的:(Android Messenger)