aidl服务---远程通信

博客围绕服务端和客户端的AIDL文件操作及远程服务控制展开。介绍了写AIDL文件、在service中继承、manifest文件配置,以及将AIDL文件复制到客户端的方法。还阐述了远程启动、停止、绑定和解绑服务的操作,最后提及重写ServiceConnection。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

服务端

写一个 aidl文件

service中继承aidl文件

manifest文件

<service
    android:name=".MyService"
    android:enabled="true"
    android:exported="true">
    <intent-filter>
        <action android:name="com.yifei.service.MYBIND"/>
    </intent-filter>

</service>

把aidl文件复制进客户端

Intent intent  = new Intent();
intent.setAction("com.yifei.service.MYBIND");
intent.setPackage("com.yifei.service");
bindService(intent,mconn,BIND_AUTO_CREATE);
Toast.makeText(MainActivity.this,"我是小宝宝",Toast.LENGTH_SHORT).show();

服务端的service中

的aidl文件不能throw exception

public class MyAidl extends MyBInd.Stub{

        @Override
        public void shows(){
            Log.d("awww", "onBind123: ");
            Toast.makeText(getApplicationContext(),"我要去抢劫",Toast.LENGTH_LONG).show();
        }
    }

一 远程启动一个服务  Intent it = new Intent() it.setAction("xxx.xx...Service" ) it.setPackage("com.yidge.xxx") startService(it)

 二 远程停止一个服务

三 远程绑定一个服务

四 远程解绑一个服务

aidl文件的复制

project---->app---->src---->main----new Directory  aidl --->新建一个包(与原文件的包名一致) --->把原来的aidl文件复制过来, rebuild

重写 ServiceConnection

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值