服务端
写一个 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