2016-08-11 214 views
-1

您好我是newbiew到android我使用後退按鈕代碼在我的第一個活動是從MainActivity和應用程序去背景或從應用程序退出,但是當我返回到該應用程序不會進入第一個活動,而是進入應用程序的某個其他頁面(活動)。我用下面的代碼返回MainActivity後按MainActivity按鈕返回按鈕

@Override 
     public void onBackPressed() 
     { 
      //super.onBackPressed(); 

      Intent intent = new Intent(Intent.ACTION_MAIN); 
         intent.addCategory(Intent.CATEGORY_HOME); 
                    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);//***Change Here*** 
         // intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
         intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY); 
         // intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); 
         // intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); 
         startActivity(intent); 
         //moveTaskToBack(true); 

          finish(); 
         System.exit(0); 




     } 

我一直在使用moveTaskToBack(真)代碼,但它不刷新活動試過了,還給第一頁本身,而是登錄偏好不會改變。請人幫我在這工作

+1

沒有做任何事情會給你一個功能,因爲它是默認的行爲。後退按鈕完成活動,當沒有更多活動可以返回時,您只需離開應用程序即可。一旦你重新開始,第一個活動就開始了。 – Vucko

+0

不做任何事情意味着不在活動中編寫onBackPressed()方法代碼將保存問題嗨 –

+0

什麼?是的,刪除整個'onBackPressed'。 – Vucko

回答

0

只需添加以下代碼行到你的發射活動的onCreate()方法

if (!isTaskRoot() 
       && getIntent().hasCategory(Intent.CATEGORY_LAUNCHER) 
       && getIntent().getAction() != null 
       && getIntent().getAction().equals(Intent.ACTION_MAIN)) { 

      finish(); 
      return; 
     } 
+0

它也沒有幫助 –