前言
最近在看AMS中的源码,发现原理是AIDL进行IPC通讯,特此将基础回顾下,编写了一个简单的DEMO,方便理解。
客户端开启和关闭远程服务
创建两个App
- ServiceApp:包含远程服务
- ClientApp:调用远程服务
ServiceApp
- 创建RemoteAppService服务
public class RemoteAppService extends Service {
@Nullable
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onCreate() {
super.onCreate();
System.out.println("RemoteAppService onCreate....");
}
@Override
public void onDestroy() {
super.onDestroy();
System.out.println("RemoteAppService onDestroy....");
}
}
- 注册服务
<service
android:name="com.martin.lib.ipc.remote.RemoteAppService"
android:enabled="true"
android:exported<