Android 基于Message的进程间通信
来源:互联网 发布:hp1010墨盒清零软件 编辑:程序博客网 时间:2024/05/01 13:37
Server端代码
/** * Created by liyan on 16/1/19. */public class MyService extends Service { private Messenger mMessenger = new Messenger(new Handler() { @Override public void handleMessage(Message msgfromClient) { Message msgToClient = Message.obtain(msgfromClient); Log.d("收到客户端发来的消息", msgToClient.what + ""); super.handleMessage(msgfromClient); } }); @Override public IBinder onBind(Intent intent) { return mMessenger.getBinder(); }}
<service android:name=".MyService" android:enabled="true" android:exported="true"> <intent-filter> <action android:name="com.example.myserver.server"></action> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </service>
Client代码
package com.example.myClient;import android.app.Activity;import android.content.ComponentName;import android.content.Context;import android.content.Intent;import android.content.ServiceConnection;import android.os.*;import java.util.Timer;import java.util.TimerTask;public class MyActivity extends Activity { /** * Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); bindService(); send(); } private void send() { new Timer().schedule(new TimerTask() { @Override public void run() { Message message=Message.obtain(null,1); try { if(mService!=null) { mService.send(message); } } catch (RemoteException e) { e.printStackTrace(); } } },500,500); } private Messenger mService; private Messenger messenger=new Messenger(new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); } }); private ServiceConnection connection=new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder service) { mService=new Messenger(service); } @Override public void onServiceDisconnected(ComponentName name) { mService = null; } }; private void bindService() { Intent intent = new Intent(); intent.setAction("com.example.myserver.server"); bindService(intent, connection, Context.BIND_AUTO_CREATE); } @Override protected void onDestroy() { super.onDestroy(); unbindService(connection); }}
0 0
- Android--基于Message的进程间通信
- Android 基于Message的进程间通信
- Android 基于Message的进程间通信 Messenger完全解析
- Android 基于Message的进程间通信 Messenger完全解析
- Android 基于Message的进程间通信 Messenger完全解析
- Android 基于Message的进程间通信 Messenger完全解析
- Android 基于Message的进程间通信 Messenger完全解析
- Android 基于Message的进程间通信 Messenger完全解析
- Android 基于Message的进程间通信 Messenger完全解析
- Android 基于Message的进程间通信 Messenger完全解析
- Android 基于Message的进程间通信 Messenger完全解析
- Android 基于Message的进程间通信 Messenger完全解析
- 基于Message的进程间通信实例
- Android 基于Message的进程间通信 Messenger完全解析【转】
- Android的进程间通信/AIDL/Message等机制
- android基于Messenger的进程间通信
- 基于Message的线程间通信实例
- 安卓-基于Message的进程间通信 Messenger完全解析
- java List系(ArrayList,LinkedList,Vector)的比较
- 一个简易TCP服务器的多种实现
- vs2010 如何快速查看 别人工程代码
- 用Spark实现K-means(scala:面向函数式编程风格)
- java上传文件跟批量下载文件
- Android 基于Message的进程间通信
- C++入门(20):字符串
- AutoCompleteTextView的简单使用
- nodejs-post文件上传原理详解
- WebDriverWait
- ajax传递给后台数组参数方式
- 安卓修改过源码之后如何给生成的app进行系统签名
- PHP完整的MySQL数据库操作类
- Java开发必会的Linux命令