2015-02-24 44 views
0

我需要一種方法來區分從發射器或其他活動的向上導航發起的活動。我有一個設置首選項,在下次啓動應用程序時顯示教程,但在按設置活動時會調用教程。如何區分從發射器或向上導航的活動發射

我試過這裏描述的(使用intent.getAction()和intent.getCategories())Differentiating between an Activity launch from home screen or from another activity from App方法,但是當我使用了導航,而不是後退按鈕

回答

1

只需定義全局靜態布爾值並將其設置爲true即可。 isLaunch在您的主要活動=真和適用條件,以檢查是否isLaunch =

public class MainActivity{ 

     private static boolean isLaunch = true; 

     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      if(isLaunch){ 
       isLaunch = false; 
       YourTutorialDisplayingMethod(); 
      } 

     } 
    } 
+0

這工作,謝謝 – daxter1992 2015-02-24 06:05:03

0

檢查活動他們不工作生命週期方法.OnCreate()只在您的活動啓動時被調用一次。但如果您從此活動開始新的活動而未完成活動,則使用向上導航將從新開啓的活動返回,將不會調用您活動的onCreate

+1

它不叫的onCreate()當我用回真正的調用顯示教程並將其設置爲false,如果它是真實的方法之前,按鈕,但它確實當我使用操作欄的向上導航 – daxter1992 2015-02-24 04:53:56

+0

好的,所以你可以使用實例狀態方法來設置一些計數器,並檢查實例狀態是否爲空,那麼你的活動第一次被調用。我想這應該工作 – 2015-02-24 05:08:55

+0

http://stackoverflow.com/questions/9846817/when-is-the-savedinstancestate-bundle-actually-used – 2015-02-24 05:10:37