学习Service过程中遇到生命周期LifeCycle问题,求助
我所遇到的问题如下:
intent.setClass(this, TService.class);
bindService(intent, sconn, Context.BIND_AUTO_CREATE);
想点击按钮实现bindService()方法,本应该这样进行onCreate()-->onBind()
但我在LOGCAT里面看到的却是onCreate()-->onBind()-->onUnbind()-->onDestroy()为什么会自动调用后面两个方法,对此我很不解,具体代码如下
代码:TService.java
package sgtmav.test.helloworld;
import android.app.Service;
import android.content.Intent;
import android.media.MediaPlayer;
import android.os.IBinder;
public class TService extends Service{
MediaPlayer mplayer;
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
System.out.println("Service--onBind()");
mplayer.start();
return null;
}
@Override
public boolean onUnbind(Intent intent) {
// TODO Auto-generated method stub
System.out.println("Service--onUnbind()");
//return super.onUnbind(intent);
mplayer.stop();
return false;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
super.onCreate();
System.out.println("Service--onCreate()");
mplayer = MediaPlayer.create(this, R.raw.mb);
}
@Override
public void onStart(Intent intent, int startId) {
// TODO Auto-generated method stub
//super.onStart(intent, startId);
System.out.println("Service--onStart()");
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
System.out.println("Service--onStartCommand()");
mplayer.start();
//return super.onStartCommand(intent, flags, startId);
return 0;
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
//super.onDestroy();
System.out.println("Service--onDestroy()");
mplayer.stop();
}
@Override
public void onRebind(Intent intent) {
// TODO Auto-generated method stub
//super.onRebind(intent);
System.out.println("Service--onRebind()");
}
}