2014-02-12 42 views
0

我正在實現android的應用程序更衣室。 我在用戶必須輸入密碼的身份驗證活動的onPause()中有以下代碼。調用主屏幕意圖是否有延遲?

@Override 
protected void onPause() { 
     super.onPause(); 
     blnSwitchingActivity = true; 
     Intent intent = new Intent(); 
     intent.setAction(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_HOME) 
       .addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS) 
       .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) 
       .addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK); 
     startActivity(intent); 
     finish(); 
} 

以下方案會產生問題。

  1. 用戶第一次點擊任何應用程序。
  2. 認證活動已打開。用戶可以輸入他的密碼或返回。
  3. 如果他回去,在onPause我打電話主屏幕的意圖。
  4. 問題是當用戶點擊主屏幕時,他必須等待幾秒鐘才能打開任何其他應用程序。

我的問題:爲什麼在調用主屏幕意圖時有延遲?

回答

1

我不是100%確定你的問題是什麼,但它聽起來像android:noHistory=trueandroid:excludeFromRecents=true的一些組合,你清單中的Activity會爲你做詭計。

+0

對不起,我已經改寫了我的問題。 – Dilip

+0

你確定'onPause()'是殺死你的'Activity'並返回到主屏幕的最佳地點嗎?這意味着,只要您的'活動'不在視圖中(例如關閉手機屏幕),用戶就會被髮送回主屏幕。 – NasaGeek

+0

是的。基本上我不希望用戶在任何情況下殺死這個活動。如果它被殺死,用戶應該進入主屏幕。請記住,這是應用程序更衣室 - 如果他殺死活動,那麼他將獲得訪問任何其他應用程序。 – Dilip