Messenger浅析
来源:互联网 发布:ipad pdf编辑软件 编辑:程序博客网 时间:2024/06/08 01:10
Messenger可以实现在不同进程之间传递Message对象,Messenger底层基于AIDL,并且一次处理一个请求,因此不需要考虑线程同步问题。
服务端:
public class MessengerService extends Service { private final static int FROM_Client=1; private static class MessengerHandler extends Handler{ @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub switch (msg.what) { case FROM_Client: Log.d("MessengerService", msg.getData().getString("msg")); break; default: super.handleMessage(msg); break; } } } private final Messenger messenger=new Messenger(new MessengerHandler()); @Override public IBinder onBind(Intent intent) { // TODO Auto-generated method stub return messenger.getBinder(); }}
指定线程:
<service android:name="com.example.fortest.service.MessengerService" android:process=":remote"/>
客户端:
public class MainActivity extends Activity { //private Button mButton; private Messenger mService; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);// mButton=(Button) findViewById(R.id.btn); Intent intent=new Intent(MainActivity.this,MessengerService.class); bindService(intent, mConnection, Context.BIND_AUTO_CREATE); } private ServiceConnection mConnection=new ServiceConnection() { @Override public void onServiceDisconnected(ComponentName name) { // TODO Auto-generated method stub } @Override public void onServiceConnected(ComponentName name, IBinder service) { // TODO Auto-generated method stub mService=new Messenger(service); Message message=Message.obtain(null,1); Bundle data=new Bundle(); data.putString("msg","this is client"); message.setData(data); try{ mService.send(message); }catch(RemoteException e){ e.printStackTrace(); } } }; @Override protected void onDestroy(){ super.onDestroy(); unbindService(mConnection); }}
0 0
- Messenger浅析
- Android进程间通信之Messenger浅析
- Messenger
- Messenger
- Messenger
- Messenger
- Messenger
- Android应用进程间通信之Messenger信使使用及源码浅析
- Android应用进程间通信之Messenger信使使用及源码浅析
- Android应用进程间通信之Messenger信使使用及源码浅析
- Android应用进程间通信之Messenger信使使用及源码浅析
- Android应用进程间通信之Messenger信使使用及源码浅析
- Ip Messenger
- Android Messenger
- Messenger(信使)
- Messenger--信使
- 小记Messenger
- 使用Messenger
- 297. Serialize and Deserialize Binary Tree
- nl命令
- Android性能优化第(二)篇---Memory Monitor检测内存泄露
- 1.SwipeBackLayout左滑返回Activity
- Activity生命周期监听接口:ActivityLifecycleCallbacks
- Messenger浅析
- struts2重定向传多个参数
- Linux备份系统镜像并对镜像中LVM分区文件的修改
- 编写现代 CSS 代码的 20 个建议
- Android Recyclerview的封装
- bat命令oracle自动备份
- 深入浅出Docker(四):Docker的集成测试部署之道
- 读取txt文档中的某一行数据
- 不断重置的前端人生