2011-08-10 170 views
1

在我的清單文件,我有一個活動的聲明看起來是這樣的:android檢查一個活動是從一個動作開始還是從另一個活動開始?

<activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
</activity> 

這項活動是在應用程序啓動明顯啓動。用戶可以從這個活動導航到另一個活動,並從那個活動導航到另一個活動等。 在另一個活動中,我使用'startActivity'方法啓動MainActivity,即。是這樣的:

Intent intent = new Intent(AnotherActivity.this, MainActivity.class); 
startActivity(intent); 

在我MainActivity(也許在onCreate()方法),我能確定的活動是否是由從另一個活動的行動開始了嗎?有沒有像「發射器聽衆」?我想避免在意圖中添加任何額外的內容。 我可以簡單地將String s = getIntent().getAction();放在onCreate方法中,並檢查它是否具有MAIN值?

回答

3

那麼股票android發射器確實發送Intent.ACTION_MAIN作爲動作。但是,您無法確定其他一些啓動器是否具有相同的行爲。你最好的選擇是用Intent傳遞一些額外的數據。

+0

謝謝,但我真的很想避免意圖的演員。 – Maggie

相關問題