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();
  }
 }
}