2016-12-23 58 views
1

在我的應用程序中有一個背景音樂,爲我有一個服務。它工作正常,但它「繼續玩」當我關閉應用程序或關閉屏幕。 我應該改變或onStop中的內容嗎?服務背景音樂不關閉

我的代碼:

public class MyService extends Service { 


private 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.id); 
    player.setLooping(true); // Set looping 
    player.setVolume(100, 100); 




} 

public int onStartCommand(Intent intent, int flags, int startId) { 
    player.start(); 
    return 1; 
} 

public void onStart(Intent intent, int startId) { 
    // TO DO 
} 

public IBinder onUnBind(Intent arg0) { 
    // TO DO Auto-generated method 
    return null; 
} 


protected void onStop() { 
    player.pause(); 
} 

public void onPause() { 
    player.pause(); 
} 

@Override 
public void onDestroy() { 
    player.stop(); 
    player.release(); 
} 

@Override 
public void onLowMemory() { 

} 

} 
+0

http://www.java2s.com/Code/Android/Media/UsingServicetoplaymediafile.htm – siva35

回答

0

由於屏幕關閉您的活動變爲不可見觸發的onPause其次的onStop

屏幕上,而另一方面,觸發在onStart其次是onResume

當過要停止服務使用

stopService(new Intent(ActivityName.this, ServiceClassName.class));

0

也許玩家的副本莫名其妙創建。嘗試使MediaPlayer變量爲靜態,然後在暫停onPause()後嘗試釋放它。無論如何,這很奇怪,你正在創建MediaPlayer實例。