【发布时间】:2011-10-04 01:04:28
【问题描述】:
我使用带有一些额外功能的 Intent 从我的小部件启动一个活动,无论如何,我只能在活动处于后台时获取 Intent。创建活动时如何获取 Intent?尝试使用 this.getIntent() 但附加项为空。
提前致谢
【问题讨论】:
-
你能发布你的代码吗?我可以通过
getIntent()在onCreate()中获得额外内容。
我使用带有一些额外功能的 Intent 从我的小部件启动一个活动,无论如何,我只能在活动处于后台时获取 Intent。创建活动时如何获取 Intent?尝试使用 this.getIntent() 但附加项为空。
提前致谢
【问题讨论】:
getIntent() 在onCreate() 中获得额外内容。
创建活动时如何获取 Intent?
拨打getIntent()Activity。
用 this.getIntent() 试过,但 extras 是空的。
一种可能性是您正在安排活动的现有实例返回到前台(例如,包括FLAG_ACTIVITY_REORDER_TO_FRONT),在这种情况下,您需要覆盖onNewIntent() 并在那里收集Intent。
另一种可能性是,您最初为 Intent 创建了一个 PendingIntent,没有附加内容,然后尝试在等效的 Intent 上创建一个新的 PendingIntent(例如,标识相同的活动)并包含附加内容.在这种情况下,您需要在创建 PendingIntent 时包含 FLAG_UPDATE_CURRENT 或 FLAG_CANCEL_CURRENT,以便将您的新/更改的附加内容考虑在内。
【讨论】:
getIntent();是获取启动 Activity 的意图的正确方法。 extras 可能为空。也就是说,没有额外的东西:)
您确定添加了附加功能吗?
【讨论】: