AIDL:Android Interface Definition Language
跨应用启动Service:
Intent i=new Intent();
i.setComponent(new ComponentName("包名","类的全路径"));
startService(i);
跨应用绑定Service:创建一个aidl文件,在service的onBind方法中写入:
return aidl类名.Stub(){
public void basicTypes(……){
}
}
即可跨应用绑定Service
跨应用绑定并通信:在aidl文件中增加一个接口setData(String),并在onBind中实现
AppService.this.data=data;
在AntherApp同样的路径下复制aidl文件,定义aidl类的变量binder;onServiceConnected方法中添加
binder=aidl类名.Stud.asInterface(service);
onCreate中
if(binder!=null) binder.setData();
即可实行通信