1.BindService()
bindService()构造方法
*
* @params service 指定调用的intent
* @params conn ServiceConnection用于通信
* @params flags 标记位
*
public boolean bindService(Intent service, ServiceConnection conn, int flags) {
return mBase.bindService(service, conn, flags);
}
2.继承onBind()方法
此方法会返回一个IBinder接口,得到IBinder接口的三种方式
- 继承Binder类
- 使用Messenger
- 使用AIDL
1.继承Binder类
@Override
public IBinder onBind(Intent intent) {
//返回Binder对象
MyBind myBind = new MyBind();
return myBind;
}
//继承Binder类
public class MyBind extends Binder {
MyBindService getService() {
return MyBindService.this;
}
}
//在ServiceConnection使用
private ServiceConnection connection = new ServiceConnection() {
@Override
public void onServiceConnected(ComponentName name, IBinder service) {
MyBindService.MyBind myBind = (MyBindService.MyBind) service;
MyBindService service = myBind.getService();
//就可以调用Service中的方法
}
@Override
public void onServiceDisconnected(ComponentName name) {
}
};