android - 第一次加载后如何将数据传递给单个任务 Activity

标签 android android-intent

我有一个 Activity 是一个单一的任务,所以我猜 on create 只被调用一次。我想从另一个 Activity 传递一些参数。使用 Intent,我正在添加额外内容,但是当我在单个 Activity onResume 中读取它们时,数据不存在。

我需要一种方法来将数据传递给单个任务 Activity 或重新启动它。

编辑

澄清一下。问题是我的 Activity 在 list 中使用单一任务作为启动模式。我认为这意味着 oncreate 只被调用一次,这就是为什么我试图在 onResume 中获取参数。

当我恢复我的单一任务 Activity 时,我无法将任何参数添加到先前 Activity 的 Intent 中,因为它不会启动它而只是恢复它

最佳答案

onNewIntent() 与单实例 Activity 一起使用。单实例Activity在onResume()中调用getIntent()会返回最初启动Activity的Intent,而不是Activity刚刚收到的Intent。为确保 getIntent() 始终在单实例 Activity 中返回最后接收到的 Intent,请使用 setIntent() 来存储最后接收到的 Intent。

这记录在 the reference documentation for onNewIntent()

关于android - 第一次加载后如何将数据传递给单个任务 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19055769/

相关文章:

java - 如何使用单个 java 类在多个 View 之间切换?

java - 如何处理同一 Activity 的多个 Intent ?

android - 发送电子邮件时,没有应用程序可以执行此操作

java - 如何在android中重复 Activity ?

android - 使用 VectorDrawableCompat

c# - Android 通过 LAN 从 C# 桌面应用程序接收 UDP 广播?

android - 调整麦克风录音音量

android - Intent 服务派生调用显式父类(super class)构造函数

android tabwidget Intent 选项卡刷新每次点击

java - 应用程序无法在 Activity 之间传递值