Myservice类里:
public class Myserviceextends Service {
private MyBinder mBinder = new MyBinder(); public IBinder onBind(Intent arg0) {
Log.e("tag", "onBind");
return mBinder;
}public class MyBinder extends Binder {
public ProgresService getService() {
Log.e("tag", "getService");
return ProgresService.this;
}
}
。
}建了一个MyBinder类继承Binder,方法getService为什么要是MyService类型????
Activity类里:
private ServiceConnection connection = new ServiceConnection() {
public void onServiceConnected(ComponentName arg0, IBinder binder) {
myService = ((MyService.MyBinder) binder).getService(); } public void onServiceDisconnected(ComponentName arg0) { }
取时候这样取sevice:myService = ((MyService.MyBinder) binder).getService();没有别的写法吗???
public class Myserviceextends Service {
private MyBinder mBinder = new MyBinder(); public IBinder onBind(Intent arg0) {
Log.e("tag", "onBind");
return mBinder;
}public class MyBinder extends Binder {
public ProgresService getService() {
Log.e("tag", "getService");
return ProgresService.this;
}
}
。
}建了一个MyBinder类继承Binder,方法getService为什么要是MyService类型????
Activity类里:
private ServiceConnection connection = new ServiceConnection() {
public void onServiceConnected(ComponentName arg0, IBinder binder) {
myService = ((MyService.MyBinder) binder).getService(); } public void onServiceDisconnected(ComponentName arg0) { }
取时候这样取sevice:myService = ((MyService.MyBinder) binder).getService();没有别的写法吗???
所以你定义的MyBinder要实现getService()方法来返回该Service对象
需要通过Binder对象来获取Service对象实例