android AIDL绑定服务使用
来源:互联网 发布:linux root 编辑:程序博客网 时间:2024/05/22 06:30
最近做了一个AIDL 绑定服务,一般的流程就不用讲了,网上很多例子,
其中另加的是绑定服务的时候传入一个AIDL接口到Service,Service通过该接口传入数据到Activity,再通过Handler更新UI;
在activity中实例化一个mHandler类
private Handler mHandler = new Handler(){@Overridepublic void handleMessage(Message message) {int type = message.what;String msg = message.obj.toString();System.out.println("Type= " + type);System.out.println("msg = " + msg );
}再在activity中重写AIDL
private IClientCallback mClientCallback = new IClientCallback.Stub() {@Overridepublic void onReceiverMessage(int type, String msg)throws RemoteException {Message message = new Message();message.what = type;message.obj =msg;mHandler.sendMessage(message);}activity中绑定服务,并传入mClientCallback
this.bindService( intent , this.mConn, BIND_AUTO_CREATE);private ServiceConnection mConn = new ServiceConnection() {@Overridepublic void onServiceDisconnected(ComponentName name) {//try {mAIDLService.unregisterCallback(mClientCallback);} catch (RemoteException e) {// TODO Auto-generated catch blocke.printStackTrace();}mAIDLService = null;}@Overridepublic void onServiceConnected(ComponentName name, IBinder service) {//Log.e(TAG,"Dialog bind");mAIDLService = IDialogService.Stub.asInterface(service);try {mAIDLService.registerCallback(mClientCallback);} catch (RemoteException e) {e.printStackTrace();}//onDialogOpen();}};private IDialogService mAIDLService;Service中继承AIDL并重写
@Overridepublic void registerCallback(IClientCallback mDialogCallback)throws RemoteException {WebsocketService.this.mDialogCallback = mDialogCallback;}然后只要在Service中调用mClientCallback中的onReceiverMessage方法传入数据即可更新UI
- android AIDL绑定服务使用
- Android使用aidl来绑定远程服务
- Android 采用AIDL绑定远程服务
- android 的aidl绑定远程服务
- Android Service 之绑定服务和AIDL
- Android服务Service详解(作用,生命周期,AIDL)系列文章--服务绑定和开启混合使用
- AIDL绑定远程服务
- aidl绑定远程服务
- android,aidl,绑定远程服务,调用远程服务的方法
- Android Service详解(五)---绑定服务BoundService详解之AIDL的使用
- Android Service详解(六)---绑定服务BoundService详解之AIDL的自定义属性使用
- android绑定远程服务以及android接口定义语言(aidl)
- android开发之------绑定远程服务的流程aidl
- Android:Service(三)——Aidl绑定远程服务
- 采用aidl绑定远程服务
- Android 使用 aidl 文件创建服务示例
- Android 使用【AIDL】调用外部服务
- Android 使用【AIDL】调用外部服务
- 开发你自己的XMPP 续 - Openfire 插件开发
- 详解公钥、私钥、数字证书的概念
- 开发你自己的XMPP 续 - Spark 插件开发
- 六、VIM使用手册--在vim中加载插件taglist
- 在Ubuntu 9.10如何安装和使用fabric模块
- android AIDL绑定服务使用
- Oracle Database 11g RAC手册(第2版)(oracle产品管理总监 BobThome作序推荐)
- 关于Buffer的问题 C++之GetBuffer函数详解
- 黑马程序员-String常见功能
- android UI进阶之实现listview的分页加载
- D3D赛车游戏 - 实训第一天
- System.getProperty() 参数大全
- 四极管:好久没更新了
- apache 虚拟主机index配置