2011-10-03 63 views
5

我使用一個額外的Intent從我的小部件啓動一個活動,無論如何我只能在活動處於後臺時獲取Intent ..如何在創建活動時獲取Intent?嘗試this.getIntent()但extras爲null。從Android的onCreate獲取意圖

在此先感謝

+1

你可以發佈你的代碼?我可以通過'onCreate()'中的'getIntent()'獲得額外的內容。 –

回答

18

我怎樣才能做的目的是創建活動什麼時候?

致電getIntent()Activity

嘗試使用this.getIntent()但extras爲null。

一種可能是你安排的活動的現有實例返回到前臺(例如,包括FLAG_ACTIVITY_REORDER_TO_FRONT),在這種情況下,你需要重寫onNewIntent()和收集Intent那裏。

另一種可能性是你最初創建一個PendingIntentIntent沒有額外,再後來試圖上的等效Intent(例如,識別相同的活性),幷包括額外創建一個新的PendingIntent。在這種情況下,創建PendingIntent時需要包含FLAG_UPDATE_CURRENTFLAG_CANCEL_CURRENT,因此需要考慮新的/更改的附加項。

+0

嘿,有必要接收onCreate()方法中的數據? –

+0

我的意思是我可以在onCreate()之前使用getIntent(),以便我用來接收的變量變成全局的嗎? –

+0

這樣的事情? 公共類NowPlaying延伸活動實現Serializable { \t \t \t意圖I = getIntent(); \t final int position = i.getIntExtra(「Data2」,0); \t final ArrayList songs = getIntent()。getParcelableArrayListExtra(「Data1」); \t \t \t \t \t \t \t @SuppressLint( 「NewApi」) \t保護無效的onCreate(捆綁savedInstanceState){ –

3

getIntent();是獲得啓動活動的意圖的正確方法。有可能附加項爲空。那個男人,沒有額外的東西:)

你確定你添加了你的額外?

+0

getIntent()已棄用。 – Droidzone