Android基础(八) – Service AIDL
生活随笔
收集整理的这篇文章主要介绍了
Android基础(八) – Service AIDL
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
AIDL大多情况用于不同应用之间通信. (eg: A应用调用B应用的播放视频功能)
第一步:然后建立AIDL,通过点击建立AIDL文件,如图
第二步:在新建的AIDL文件里 写协议接口
interface IMyAidlInterface {void downLoad(String path);//.... }第三步:确认包名无误的情况下 点build -> Make Project第四步:在提供服务的Service 里 添加IMyAidlInterface.Stub ms = new IMyAidlInterface.Stub() {@Overridepublic void downLoad(String path) throws RemoteException {Log.e(TAG,"开始下载 -->" + path);} };同时修改 @Overridepublic IBinder onBind(Intent intent) {//可取调用者传递 intentreturn ms; }第五步:调用者 将aidi文件copy到工程下 ,然后用BindService的方式连接即可,如下:bindService(binderIntent, new ServiceConnection() {@Overridepublic void onServiceConnected(ComponentName name, IBinder service) {myServiceAIDL = IMyAidlInterface.Stub.asInterface(service);try {//通过AIDL远程调用Log.d(TAG,"++start download++");myServiceAIDL.downLoad("abc");} catch (RemoteException e) {e.printStackTrace();}}@Overridepublic void onServiceDisconnected(ComponentName name) {} }, BIND_AUTO_CREATE);转载于:https://blog.51cto.com/4397014/2162430
总结
以上是生活随笔为你收集整理的Android基础(八) – Service AIDL的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Java 文件及文件夹复制
- 下一篇: Kotlin on Android 开发