AIDL

作者: 老北瓜 | 来源:发表于2020-02-05 16:17 被阅读0次

    使用iBinder 和 ServiceConnection 间的通信是Activity 与Service之间的通信。
    而如果要进行不同进程间的通信就要使用到AIDL.

    远程启动服务, 如果 进程A 要启动进程B的Service ,需要使用阴示意图,被操作服务中添加意图

     <intent-filter>
        <action android:name="com.example.servicedemo.MyService"></action>
     </intent-filter>
    

    远程启动服务:

      Intent  intent = new  Intent();
      intent.setAction("com.example.servicedemo.MyService")
      startActivity(intent);
    

    远程关闭服务:

       Intent  intent = new  Intent();
       intent.setAction("com.example.servicedemo.MyService")
       stopActivity(intent);
    

    远程绑定服务:

        Intent intent = new  Intent("com.example.servicedemo.MyService");
        bindService(intent,new ServiceConnection(),CREATE_BIND_AUTO);
    

    远程解绑服务:

        unbindService(conn);
    

    跨进程数据共享 , 使用AIDL,
    被操作Service 包中创建aidl 文件 ,同包下右键 new aidl 接口中新建业务方法,build -> makeProject
    ....

    相关文章

      网友评论

          本文标题:AIDL

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