- 创建服务端项目
- 创建客户端项目
客户端调用服务端中的方法
一:创建服务端项目
创建两个文件
TestAidl.aidl 与 AidlService.java
TestAidl.aidl
AidlService.java
到这服务端就OK了,注意其中的Stub是Aidl文件自动生动的。
二:创建客户端项目
1.将服务端的aidl文件拿到客户端并保持目录名一样
2.启动服务,调用aidl
AidlActivity.java
public class AIDLActivity extends AppCompatActivity {
String TAG="AIDLActivity";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_aidl);
}
public void testAidl(View view){
AIDLActivity.this.bindService(new Intent("AIDL_SERVICE_TEST"), conn, BIND_AUTO_CREATE);
}
public void stopAidl(View view) {
try{
AIDLActivity.this.unbindService(conn);
LogUtil.v(TAG, "stop");
}catch (Exception e){
Toast.makeText(this,"服务没有启动!",Toast.LENGTH_SHORT).show();
}
}
protected ServiceConnection conn=new ServiceConnection(){
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
TestAidl aidl=TestAidl.Stub.asInterface(service);
try {
String message=aidl.sayFormOtherProcess();
Toast.makeText(AIDLActivity.this,message,Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* 连接异常时调用
* @param name
*/
@Override
public void onServiceDisconnected(ComponentName name) {
}
};
}
到这里就演示完了,当然,没有讲解,适合搞过aidl又忘得差不多的人看,小白请走大道