Android AIDL简单实例

作者: YiiY34 | 来源:发表于2018-08-10 16:45 被阅读46次

    这篇文章就只是简单讲解以下AIDL的使用,如果需要详细的文档说明之类的请自行百度,Google【手动滑稽】

    新建两个项目AIDLClient,AIDLService一个作为客户端,一个作为服务端

    在客户端中新建AIDL文件

    会有一个默认的basicTypes函数,在这下面我们新建一个ssoAuth函数

    因为客户端是调用端,因此,只需要定义AIDL文件,此时Rebuild一下会生成一个SsiAuth.java文件(ps:这里给大家安利一下:Android Studio中遇到过的错误问题与解决方案汇总,然后就是在引用外部类一定要记得import!!!!blablablabla)

    这是后客户端弄好了就开始配置服务端,直接把客户端app/src/main下的aidl copy到服务端同目录下(ps:你也可以自己新建,但是AIDL一定要包名相同,不然会报错的)

    配置好服务端AIDL,Rebuild(ps:前面说了build后会生成一个java文件,然后该文件中有一个Stub类实现了SsoAuth接口),然后我们先需要定义一个Service子类,然后再定义一个继承自Stub的子类,并且在Service的onBind函数中返回这个Stub子类的对象。

    完成ZhouZiSsoAuthService之后,到Manifest中去注册。

    因为是外部访问这个service,所以exported一定不能=“false”,不然外部访问不了!!!

    到这里服务端的东西就搞完了,run起来,切回客户端。

    没下载截图软件,将就看吧。。拼上就好

    上面代码逻辑就不解释了,需要注意的是,bindService的时候咱们是隐式的但是在Android5.0之后service的intent一定要显性声明,所以createExplicitFromImplicitIntent的作用就是将隐性调用变成显性调用

    富文本不会用。第一次写将就看吧,反正会帖源码。。。

    最后客户端run起来

    源码地址

    相关文章

      网友评论

      本文标题:Android AIDL简单实例

      本文链接:https://www.haomeiwen.com/subject/vdtlbftx.html