簡體   English   中英

我怎么知道應用程序何時在后台?

[英]How do I know when application is in the background?

我有一個應用程序,它是一個帶有多個選項的菜單,選擇每個選項都會導致新的活動。 我還使用服務在后台播放音樂。 無論我專注什么活動,我都希望音樂能夠連續播放。

我的問題是:

  • 如果我沒有覆蓋onPause()或onStop(),那么當我打開另一個活動時音樂將正常播放。 但是,當我按下主屏幕按鈕時,音樂仍會播放。
  • 如果我確實重寫onPause()或onStop(),則當我按“主頁”按鈕時音樂將停止,但在打開另一個活動時也將停止音樂。

那我現在該怎么辦?

您可以重寫onPause()並使用一個布爾標志。
如果要啟動新活動,請將布爾值設置為true 調用onPause() ,您會知道它是否為true然后應該停止播放音樂。

boolean keepPlaying = false;

protected void onPause() { 
    if(!keepPlaying)
        stopService(new Intent(this, MediaPlayerServices.class)); 
    super.onPause();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM