IPC基础概念介绍第三篇(Messenger)
2017-12-14 15:06
411 查看
单纯记录
public class MyService2 extends Service {
}
public class MainActivity extends AppCompatActivity {
}
public class MyService2 extends Service {
public static class MessengerHandler extends Handler { @Override public void handleMessage(Message msg) { switch (msg.what) { case 100: Log.d("yaohui", msg.getData().getString("key")); Messenger sendMessenger = msg.replyTo; Message message = Message.obtain(null, 200); Bundle bundle = new Bundle(); bundle.putString("key", "en"); message.setData(bundle); try { sendMessenger.send(message); } catch (RemoteException e) { e.printStackTrace(); } break; default: super.handleMessage(msg); } } } private Messenger mReveiverMessenger = new Messenger(new MessengerHandler()); public MyService2() { } @Override public IBinder onBind(Intent intent) { return mReveiverMessenger.getBinder(); }
}
public class MainActivity extends AppCompatActivity {
private Messenger mSendMessenger; private Messenger mReveiverMessenger = new Messenger(new MessengerHandler()); private static class MessengerHandler extends Handler { @Override public void handleMessage(Message msg) { switch (msg.what) { case 200: Log.d("yaohui", msg.getData().getString("key")); break; default: super.handleMessage(msg); } } } private ServiceConnection mServiceConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder service) { mSendMessenger = new Messenger(service); Message message = Message.obtain(null, 100); Bundle bundle = new Bundle(); bundle.putString("key", "haha"); message.setData(bundle); message.replyTo = mReveiverMessenger; try { mSendMessenger.send(message); } catch (RemoteException e) { e.printStackTrace(); } } @Override public void onServiceDisconnected(ComponentName name) { } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void a(View v) { bindService(new Intent(this, MyService2.class), mServiceConnection, Context.BIND_AUTO_CREATE); }
}
相关文章推荐
- IPC基础概念介绍第一篇(Serializable接口)
- 4.IPC 机制(二) IPC基础概念介绍
- 5.IPC 机制(三) IPC基础概念介绍 Parcelable接口
- 6.IPC 机制(四) IPC基础概念介绍 Binder
- IPC(二)---IPC基础概念介绍
- IPC基础概念介绍第二篇(Parcelable接口)
- 【Android学习】IPC 基础概念(序列化接口介绍)
- Android IPC基础概念之(序列化)介绍
- Android IPC基础概念介绍
- IPC机制---03 IPC基础概念介绍
- RabbitMQ基础概念详细介绍
- Ext学习-基础概念,核心思想介绍
- RabbitMQ学习总结(一)——基础概念详细介绍
- NAND FLash基础概念介绍
- RabbitMQ基础概念详细介绍
- RabbitMQ基础概念详细介绍
- Springframework(一)spring基础概念介绍
- RabbitMQ基础概念详细介绍
- RabbitMQ基础概念详细介绍及示例
- cocos2d-x 基础概念介绍——导演、场景、层、精灵