서비스 공부중에 좀 모르는 부분이 생겨서 질문 드리게 되었습니다.
아래 소스가 문제의 소스의 액티비티 부분이구요...
=======================ServiceTest=======================

public class ServiceTest extends Activity {
 private Button mButtonMessage;
 private Intent mIntent;
 private MyService serviceBinder;
 
 private ServiceConnection mConnection = new ServiceConnection(){
  @Override
  public void onServiceConnected(ComponentName name, IBinder service) {
   // TODO Auto-generated method stub
   serviceBinder = ((MyService.MyBinder)service).getService();
  }
  @Override
  public void onServiceDisconnected(ComponentName name) {
   // TODO Auto-generated method stub
   
  }
  
 };
 
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        
        
        setContentView(R.layout.main);
        
        mIntent = new Intent(ServiceTest.this, MyService.class);
        
        startService(mIntent);
        bindService(mIntent, mConnection, Context.BIND_AUTO_CREATE);
        
        mButtonMessage = (Button)findViewById(R.id.btn_message);
        mButtonMessage.setOnClickListener(new OnClickListener(){
   @Override
   public void onClick(View v) {
    // TODO Auto-generated method stub
    stopService(mIntent);
    unbindService(mConnection);
   }
         
        });
    }
}




=====================MyService===========================

public class MyService extends Service{
 public NotificationManager mNM;
 public MediaPlayer mMediaPlayer;
 private final IBinder binder = new MyBinder();
 
 @Override
 public IBinder onBind(Intent intent) {
  // TODO Auto-generated method stub
  return binder;
 }
 
 @Override
 public void onCreate() {
  // TODO Auto-generated method stub
  //mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
  Log.d("MyService", "onCreate()");
  
  mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE);
  
  String text = "now something music playing";
  
  Notification notification = new Notification(android.R.drawable.stat_sys_headset, text, System.currentTimeMillis());
  
  PendingIntent contentIntent = PendingIntent.getActivity(this, 0, new Intent(this, ServiceTest.class), 0);
  
  notification.setLatestEventInfo(this, "label", text, contentIntent);
  
  mNM.notify(1234, notification);
  
 }
 @Override
 public void onStart(Intent intent, int startId) {
  // TODO Auto-generated method stub
  super.onStart(intent, startId);
  Log.d("MyService", "onStart");
  mMediaPlayer = MediaPlayer.create(this, R.raw.afterschool);
  
  if(mMediaPlayer.isPlaying() == false){
   mMediaPlayer.start();
  }
  
  mMediaPlayer.setOnCompletionListener(new OnCompletionListener(){
   @Override
   public void onCompletion(MediaPlayer mp) {
    // TODO Auto-generated method stub
    mp.stop();
    mp.release();
    Log.d("MyService", "onCompletion()");
    mNM.cancel(1234);
   }
   
  });
 }
 
 @Override
 public void onDestroy() {
  // TODO Auto-generated method stub
  super.onDestroy();
  Log.d("MyService", "onDestroy()");
  mMediaPlayer.stop();
  mNM.cancel(1234);
 }
 
 public class MyBinder extends Binder{
  MyService getService(){
   return MyService.this;
  }
 }
}



 


이렇게 만들었습니다.
실행 시키고 그 상태에서 버튼을 누르면 서비스도 잘 종료 되고 괜찮습니다.
그런데 back버튼을 누르고 안드로이드 메인화면으로 나오고 난뒤 notificationbar에서 클릭 해서 들어가면 노래가 중복 되어서 또다른 새로운 서비스가 실행 되는 것 같습니다.
그리고 바인드를 시켰는데 아래와 같은 에러가 납니다.
뭐 때문에 이런 에러가 나는지 감도 못잡고 있습니다. 도와주세요...

02-03 08:36:40.484: ERROR/ActivityThread(10378): Activity com.android.servicetest.ServiceTest has leaked ServiceConnection com.android.servicetest.ServiceTest$1@43bb8fc8 that was originally bound here
02-03 08:36:40.484: ERROR/ActivityThread(10378): android.app.ServiceConnectionLeaked: Activity com.android.servicetest.ServiceTest has leaked ServiceConnection com.android.servicetest.ServiceTest$1@43bb8fc8 that was originally bound here