一、创建服务端
1、首先创建AIDL文件
2、创建service,绑定AIDL接口
3、配置service
<service android:name=".AidlService"
android:enabled="true"
android:exported="true"
>
<intent-filter android:priority="1000">
<action android:name="AIDL.service"></action>
</intent-filter>
</service>
4、开启service和打开ServiceConnection
Intent intent=new Intent(getApplicationContext(),AidlService.class); bindService(intent,serviceConnection,BIND_AUTO_CREATE);
----------------------------------------服务端创建完毕-------------------------------------------------------------
二、创建客户端
1、同样开始创建AIDL文件——与服务端的AIDL文件一样(复制即可)
2、创建serviceConnection
private ServiceConnection serviceConnection=new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName componentName, IBinder iBinder) {
Toast.makeText(getApplicationContext(),"已连接服务器",Toast.LENGTH_LONG).show();
iAidlInterface=IAidlInterface.Stub.asInterface(iBinder);
try {
iAidlInterface.asBinder().linkToDeath(mDeathRecipient, 0);
iAidlInterface.registerCallBack(iAidlCallBack);
messages.addAll(iAidlInterface.getMessages());
listView.setAdapter(arrayAdapter=new ArrayAdapter<>(getApplicationContext(),android.R.layout.simple_list_item_1,messages));
} catch (RemoteException e) {
e.printStackTrace();
}
}
@Override
public void onServiceDisconnected(ComponentName componentName) {
}
};
3、开启绑定服务端的service连接serviceConnection
Intent intent=new Intent();
String ACTION = "AIDL.service";
intent.setAction(ACTION);
intent.setPackage("com.dlc.mytestttt");
bindService(intent,serviceConnection,BIND_AUTO_CREATE);