unbindService() 호출하면
서비스 onunbind() 호출되고 종료되자마자 onDestroy() 호출되는 거 아닌가요
mp3가지로 예제 만들어서 하고 있는데 onunbind()호출되고 onDestroy()로 넘어가지 않습니다. ㅡㅡ.;
mp3 실행중 onunbind()에서 onDestroy()로 넘어가 지지 않으니 mp3 재생도 중지 되지 않고요 뭐가문제일까요
package exam.testservice;
import java.io.*;
import android.app.*;
import android.content.*;
import android.media.*;
import android.os.*;
import android.util.*;
import android.widget.*;
public class HelloIntentService extends Service {
MediaPlayer mb_meMediaPlayer;
IBinder mBinder = new LocalBinder();
public class LocalBinder extends Binder{
public HelloIntentService getService() {
return HelloIntentService.this;
}
}
@Override
public IBinder onBind(Intent arg0) {
// TODO Auto-generated method stub
Log.v("서비스","onBind");
//mb_meMediaPlayer = MediaPlayer.create(this, R.raw.aaa);
//mb_meMediaPlayer.start();
return mBinder;
}
@Override
public void onCreate() {
// TODO Auto-generated method stub
Log.v("서비스","onCreate");
super.onCreate();
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
Log.v("서비스","onDestroy");
mb_meMediaPlayer.stop();
super.onDestroy();
}
@Override
public void onStart(Intent intent, int startId) {
// TODO Auto-generated method stub
Log.v("서비스","onStart");
super.onStart(intent, startId);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
// TODO Auto-generated method stub
Log.v("서비스","onStartCommand");
switch (intent.getIntExtra("control", -1)) {
case 1:
mb_meMediaPlayer = MediaPlayer.create(this, R.raw.aaa);
mb_meMediaPlayer.start();
break;
case 2:
mb_meMediaPlayer.pause();
break;
case 3:
mb_meMediaPlayer.start();
break;
case 4:
//super.onDestroy();
mb_meMediaPlayer.stop();
//mb_meMediaPlayer.release();
break;
}
//mb_meMediaPlayer.start();
return super.onStartCommand(intent, flags, startId);
//return START_NOT_STICKY;
}
@Override
public boolean onUnbind(Intent intent) {
// TODO Auto-generated method stub
Log.v("서비스","onUnbind");
//mb_meMediaPlayer.stop();
return super.onUnbind(intent);
}
public void set_mb_meMediaPlayer(int arg){
if(arg == 1){
mb_meMediaPlayer.pause();
}else if(arg == 2){
mb_meMediaPlayer.start();
}else if(arg == 3){
mb_meMediaPlayer.stop();
}
}
}