Aidl 通过Service实现
来源:互联网 发布:sql语句中isnull 编辑:程序博客网 时间:2024/05/21 19:27
1.如果传递自定义类可能会产生的异常 couldn't find import class
2.创建aidl文件
Article.Java 自定义类,注意实现Parceable接口,且放到java之中aidl文件夹
,Article.aidl
package com.sclgxt.aidl;// Declare any non-default types here with import statementsimport com.sclgxt.aidl.Article; parcelable Article;
IMyAidlInterface.adil
package com.sclgxt.aidl;// Declare any non-default types here with import statementsimport com.sclgxt.aidl.Article;interface IMyAidlInterface { Article getFirstNovel();}3.Service
public class AidlService extends Service { @Nullable @Override public IBinder onBind(Intent intent) { return new MyAidlStuBinder();//正常返回 }//注意继承 private class MyAidlStuBinder extends IMyAidlInterface.Stub { @Override public Article getFirstNovel() throws RemoteException { try { Article article = Utils.getDbManager(getApplication()).findFirst(Article.class);//这里只是获取Article数据而已 return article; } catch (DbException e) { e.printStackTrace(); return null; } } }}3.1注册4.在其他程序中使用<service android:name=".Service.AidlService" android:exported="true"> <intent-filter> <action android:name="com.sclgxt.action.remoteadilservice"/> </intent-filter></service>
4.1创建包,把Article,和IMyAidlInterface.aidl 生成的IMyAidlInterface.java 拷贝到此包里面4.2使用
serviceConnection = new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder service) { IMyAidlInterface stub = IMyAidlInterface.Stub.asInterface(service); try { Article article = stub.getFirstNovel(); Log.i("","-->article: "+article.toString()); } catch (RemoteException e) { e.printStackTrace(); } } @Override public void onServiceDisconnected(ComponentName name) { Log.i("","-->onServiceDisconnected"); }};Intent intent = new Intent("com.sclgxt.action.remoteadilservice");bindService(intent, serviceConnection, Service.BIND_AUTO_CREATE);注意unbind
0 0
- Aidl 通过Service实现
- 通过AIDL调用Service
- 通过AIDL调用Service
- Android进阶(二) Activity调用Service 通过AIDL实现
- 如何通过AIDL实现跨应用绑定Service
- service实现AIDL
- android: 通过AIDL使用SERVICE
- Android Studio实现Service AIDL
- Android Studio实现Service AIDL
- Android studio实现Service AIDL
- AndroidStudio通过AIDL开启、绑定远程Service
- Android通过AIDL远程调用service
- Android之最清晰的通过AIDL实现Service跨进程通信
- 通过aidl实现挂断电话
- Service练习——通过Messenger(信使)来实现IPC通讯(Messenger底层使用AIDL实现)
- AIDL和Service实现两进程通信
- Service+AIDL牛刀小试,实现应用间通信
- Android:Service:AIDL实现进程通信
- OS X安装和使用Anaconda
- 编译器动手实践之:实现C语言函数定义的语法解析1
- 无刷新文件上传
- NEECR 2014
- JavaScript学习笔记
- Aidl 通过Service实现
- java 集合简述
- SQL编程(1)--创建表
- jsp导出excel表
- Class.forName的作用以及为什么要用它
- shell脚本编程(二)——常用语法(续)
- Ubuntu 14.04 安装 JDK 8,ubuntu14.04(h用 ok))
- 【Python】图片处理之“PythonMagick”库简易安装笔记
- 移动端网络优化