A应用可供远程服务的设置
<service android:name=".RemoteService" >
<intent-filter>
<action android:name="com.itheima.remoteservice" >
</action>
</intent-filter>
</service>
IService.aidl
interface IService {
void callMethodInService();
}
RemoteService.java 中Mybinder部分
private class MyBinder extends IService.Stub{
@Override
public void callMethodInService() { //1.远程服务和本地服务的不同 .
methodInService();
}
}
绑定远程A应用的服务的编写。 将IService.aidl先复制过来。
public class MainActivity extends Activity {
private IService iService;
private MyConn conn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void bind(View view){
Intent intent = new Intent();
intent.setAction("com.itheima.remoteservice");
conn = new MyConn();
bindService(intent,conn , BIND_AUTO_CREATE);
}
public void call(View view){
try {
iService.callMethodInService();
} catch (RemoteException e) {
e.printStackTrace();
}
}
private class MyConn implements ServiceConnection{
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
iService = IService.Stub.asInterface(service);
}
@Override
public void onServiceDisconnected(ComponentName name) {
}
}
}