欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 运维知识 > Android >内容正文

Android

Android基础(八) – Service AIDL

发布时间:2025/3/21 Android 56 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。