Android中Messenger的使用
我们使用Handler都是在一个进程中使用的,如何跨进程使用Handler? 其实这个问题不难解决,自己动手对binder进行一些封装就可以简单实现。但是当你看系统源码,就会发现,其实这些android都已经为我们做好了。 使用android系统的 android.os.Messenger 可以很方便的跨进程使用Handler。下面是示例程序。 首先是服务端。 public class MessengerTestService extends Service { protected static final String TAG = "MessengerTestService"; private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case 1: Log.d(TAG, "收到消息"); //获取客户端message中的Messenger,用于回调 final Messenger callback = msg.replyTo; try { // 回调 callback.send(Message.obtain(null, 0)); } catch (RemoteException e) { // TODO