我使用一个额外的Intent从我的小部件启动一个活动,无论如何我只能在活动处于后台时获取Intent ..如何在创建活动时获取Intent?尝试使用this.getIntent()但是extras为null。
提前致谢
答案 0 :(得分:19)
如何在创建活动时获取Intent?
致电getIntent()
上的Activity
。
尝试使用this.getIntent()但附加内容为null。
一种可能性是您正在安排活动的现有实例返回前台(例如,包括FLAG_ACTIVITY_REORDER_TO_FRONT
),在这种情况下,您需要覆盖onNewIntent()
并收集{ {1}}那里。
另一种可能性是,您最初为Intent
创建了PendingIntent
而没有额外内容,后来尝试在等效Intent
上创建新的PendingIntent
(例如,识别相同的活动)并包括附加内容。在这种情况下,您需要在创建Intent
时加入FLAG_UPDATE_CURRENT
或FLAG_CANCEL_CURRENT
,以便考虑新的/更改的附加内容。
答案 1 :(得分:3)
getIntent();是获取启动Activity的意图的正确方法。附加组件可能为空。那个meens,没有额外的东西:)
您确定添加了额外内容吗?