【问题标题】:Get the intent from onCreate in Android从 Android 中的 onCreate 获取意图
【发布时间】:2011-10-04 01:04:28
【问题描述】:

我使用带有一些额外功能的 Intent 从我的小部件启动一个活动,无论如何,我只能在活动处于后台时获取 Intent。创建活动时如何获取 Intent?尝试使用 this.getIntent() 但附加项为空。

提前致谢

【问题讨论】:

  • 你能发布你的代码吗?我可以通过getIntent()onCreate() 中获得额外内容。

标签: android android-widget


【解决方案1】:

创建活动时如何获取 Intent?

拨打getIntent()Activity

用 this.getIntent() 试过,但 extras 是空的。

一种可能性是您正在安排活动的现有实例返回到前台(例如,包括FLAG_ACTIVITY_REORDER_TO_FRONT),在这种情况下,您需要覆盖onNewIntent() 并在那里收集Intent

另一种可能性是,您最初为 Intent 创建了一个 PendingIntent,没有附加内容,然后尝试在等效的 Intent 上创建一个新的 PendingIntent(例如,标识相同的活动)并包含附加内容.在这种情况下,您需要在创建 PendingIntent 时包含 FLAG_UPDATE_CURRENTFLAG_CANCEL_CURRENT,以便将您的新/更改的附加内容考虑在内。

【讨论】:

  • 嘿嘿,onCreate()方法中接收数据有必要吗??
  • 我的意思是我可以在 onCreate() 之前使用 getIntent() 以便我用来接收的变量成为全局变量吗?
  • 这样的?公共类 NowPlaying 扩展 Activity 实现 Serializable { Intent i = getIntent();最终 int 位置=i.getIntExtra("Data2", 0); final ArrayList song = getIntent().getParcelableArrayListExtra("Data1"); @SuppressLint("NewApi") protected void onCreate(Bundle savedInstanceState) {
  • 您好,谁能帮我解决我的问题? stackoverflow.com/questions/64492329/…
【解决方案2】:

getIntent();是获取启动 Activity 的意图的正确方法。 extras 可能为空。也就是说,没有额外的东西:)

您确定添加了附加功能吗?

【讨论】:

  • getIntent() 已弃用。
  • @Droidzone 您能否发布一个指向官方文档的链接,说 getIntent() 已弃用?
猜你喜欢
  • 1970-01-01
  • 2015-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多