2016-07-15 26 views
0

我已經通過stackoverflow站點進行搜索,但不幸的是,所有答案都不適用於我。 由於某些原因,如果後臺服務仍在運行,當用戶按「返回」按鈕返回主屏幕時,我希望活動不被破壞。在OnBackPressed中使用moveTaskToBack,仍然銷燬活動

應用程序正常處理流程,比如: 啓動畫面'>主要活動

  1. 當按下後退按鈕,然後重新打開應用程序,流程,比如: 啓動畫面'>主要活動,活動的狀態不像以前一樣回到主屏幕(這不是我想要的)

  2. 當按下home鍵,然後重新打開應用程序,流程,比如: 主要活動,活動的狀態,像以前一樣回到主屏幕(這就是我想要的)

任何想法如何獲得2?我知道在2,活動沒有被破壞,只是暫停或停止,但如何覆蓋後退按鈕,讓它像按下主頁按鈕?

跟隨別人的想法,在onBackPressed使用moveTaskToBack,工作流程依然像1我已經試過

下面是代碼,

public class SimpleActivity extends AppCompatActivity{ 
..... 
..... 
@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
    moveTaskToBack(true); 
} 

@Override 
protected void onDestroy() { 
    super.onDestroy(); 
    Toast.makeText(this, "onDestroy", Toast.LENGTH_LONG).show(); 
    if (musicPlayService!=null||serviceBinder) 
      unbindService(serviceConnection); 
     PlaylistFragment.checkBoxFlag=false; 
     unregisterReceiver(detectHeadset); 

} 

回答

0

試試這個:

@Override 
public void onBackPressed() { 
    Intent i= new Intent(Intent.ACTION_MAIN); 
    i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
    i.addCategory(Intent.CATEGORY_HOME); 
    startActivity(i); 
} 
+0

感謝您回答我的問題,並且您提供的解決方案也不適合我,我在嘗試之前嘗試過。 – Leon

0


嘗試刪除super.onBackPressed()

@Override 
public void onBackPressed() { 
    moveTaskToBack(true); 
} 
相關問題