2011-10-03 65 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