一、基本用法(使用bind的方式注册Service)
(1)新建一个继承自Service的类MyService,然后在AndroidManifest.xml里注册这个Service.
(2)Activity里面使用bindService方式启动MyService,也就是绑定了MyService.
(3)新建一个继承自Binder的类MyBinder
(4)在MyService里实例化一个MyBinder对象mBinder,并在onBind回调方法里边返回mBinder对象
(5)第2步bindService方法需要一个ServiceConnection类型的参数,在ServiceConnection里可以取到一个IBinder对象,就是第4步onBinder返回的mBinder对象(也就是在Activity里面拿到了Service里面的mBinder对象)
(6)在Activity里面拿到mBinder之后就可以调用这个binder里面的方法了(也就是可以给Service发消息了),需要什么方法在MyBinder类里面定义实现就行了。如果需要Service给Activity发消息的话,通过这个binder注册一个自定义回调即可。
二、代码实现
Service
public class MyService extends Service {
private static final String TAG="wcy";
//实例化一个MyBinder对象
private MyBinder myBinder=new MyBinder(this);
@Nullable
@Override
public IBinder onBind(Intent intent) {
return myBinder;
}
public void serviceMothod(String str){