代码怎样才算是运行在service中?
public class MyService extends Service {
public static final String TAG = "MyService";
private MyBinder mBinder = new MyBinder();
public void haha() {
super.onCreate();
Log.d(TAG, "onCreate() executed");
}
@Override
public void onCreate() {
//service的普通方法
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.d(TAG, "onStartCommand() executed");
return super.onStartCommand(intent, flags, startId);
}
@Override
public void onDestroy() {
super.onDestroy();
Log.d(TAG, "onDestroy() executed");
}
@Override
public IBinder onBind(Intent intent) {
return mBinder;
}
class MyBinder extends Binder {
public void startDownload() {
Log.d("TAG", "startDownload() executed");
// 执行具体的下载任务
}
}
}
当在Activity中获得绑定的service返回的MyBinder 实例后,如果调用MyBinder 自己的public普通方法比如tartDownload(),这算是运行在服务中吗?这和直接new 一个MyBinder实例再运行它的tartDownload()有什么区别?就因为它是通过service返回的?
如果我通过service返回的MyBinder进一步返回了service的实例,调用service的普通方法haha(), 这算是代码运行在service中吗?
怎样才算是代码运行在service中?