可以调用IBinder的重连方法
private final ServiceConnection serviceConnection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
IBrainIp iBrainIp = IBrainIp.Stub.asInterface(service);
try {
mPresenter.socketIp = iBrainIp.getIp();
ALog.i("onServiceConnected", "ip=" + mPresenter.socketIp);
Log.e("wy", "ip=" + mPresenter.socketIp);
// 提供ip的服务apk挂了重连
iBrainIp.asBinder().linkToDeath(new IBinder.DeathRecipient() {
@Override
public void binderDied() {
Log.e("wy", "提供ip的服务apk挂了重连" );
Intent intent = new Intent();
intent.setPackage("com.hisense.search.ip");
intent.setAction("com.hisense.search.ip.server");
bindService(intent, serviceConnection, Context.BIND_AUTO_CREATE);
}
},0);
} catch (RemoteException e) {
e.printStackTrace();
}
}
@Override
public void onServiceDisconnected(ComponentName name) {
ALog.i("onServiceDisconnected", "disconn");
}
};