title: Service with MediaPlayer doesn't stop when closing app - Android
body: <p>I'm developing a simple game where 3 activities (menu, settings and ranking list) needs one background music that should play smoothly in the background even if for example user leaves menu and goes into settings and then back.</p>
  
  <p>For that I created service which works perfectly. There is only one major problem: when app is closed (user press home button for example), music doesn't stop playing.</p>
  
  <p>I have tried with onDestroy, onStop, onPause but the problem is not solved.</p>
  
  <p><strong>Service:</strong></p>
  
  <pre><code>package com.android.migame;
  
  import android.app.Service;
  import android.content.Intent;
  import android.media.MediaPlayer;
  import android.media.MediaPlayer.OnCompletionListener;
  import android.os.IBinder;
  
  public class Meni_music extends Service implements OnCompletionListener {
  
      private static final String TAG = null;
      MediaPlayer player;
  
      public IBinder onBind(Intent arg0) {
          return null;
      }
  
      @Override
      public void onCreate() {
          super.onCreate();
          player = MediaPlayer.create(this, R.raw.menu);
          player.setLooping(true); // Set looping
      }
  
      public int onStartCommand(Intent intent, int flags, int startId) {
          player.start();
          return 1;
      }
  
      public IBinder onUnBind(Intent arg0) {
          // TODO Auto-generated method stub
          return null;
      }
  
      @Override
      public void onDestroy() {
          player.stop();
          player.release();
          stopSelf();
      }
  
      @Override
      public void onLowMemory() {
      }
  
      @Override
      public void onCompletion(MediaPlayer mediaPlayer) {
      }
  }
  </code></pre>
  
  <p><strong>Menu:</strong></p>
  
  <pre><code>package com.android.migame;
  
      import android.app.Activity;
      import android.app.ActivityManager;
  
      import android.content.Context;
      import android.content.Intent;
      import android.os.Bundle;
      import android.util.Log;
      import android.view.View;
      import android.view.Window;
      import android.view.WindowManager;
      import android.widget.ImageView;
  
      import java.io.BufferedReader;
      import java.io.File;
      import java.io.FileReader;
  
      public class Meni extends Activity {
  
          @Override
          public void onCreate(Bundle savedInstanceState) {
              super.onCreate(savedInstanceState);
  
              requestWindowFeature(Window.FEATURE_NO_TITLE);
              getWindow().setFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON,
                      WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
              setContentView(R.layout.meni);
  
              startService(new Intent(Meni.this,Meni_music.class));
  
          }
  
          @Override
          protected void onPause() {
              super.onPause();
          }
  
          @Override
          protected void onResume() {
              super.onResume();
          }
  
  }
  </code></pre>