- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 Activity A,它使用 startActivityForResult 启动一个新 Activity B。
Activity B 使用 FLAG_ACTIVITY_CLEAR_TOP
重启了几次,所以当用户点击返回时,B 使用 setResult()
放置数据并返回到 Activity A。
但是,数据丢失了。调用 A 中的 onActivityResult
时默认为 null 和 resultCode。
我知道,事实上,这是正确的行为,因为 FLAG_ACTIVITY_CLEAR_TOP
丢弃了以前的 Activity ,但我想知道是否有一些解决方法来实现这一点(除了避免重启 B 等显而易见的选项之外)
最佳答案
当您重新启动 Activity B 时,将 FLAG_ACTIVITY_CLEAR_TOP
和 FLAG_ACTIVITY_SINGLE_TOP
添加到您的启动 Intent 中。
activityBIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
重新启动 Activity B 也会调用 onNewIntent(Intent)
,但是 getIntent()
仍会传送旧的(原始)intent。
Note that getIntent() still returns the original Intent. You can use setIntent(Intent) to update it to this new Intent.
关于android - startActivityForResult 和 FLAG_ACTIVITY_CLEAR_TOP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17148246/
我想知道,2个代码有什么区别? newIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
我被困在使用 Flag activity clear top usage 中。这对我来说是个大问题。有时有效,有时无效。我不关心是什么。这真的让我很困惑。请帮忙 在这里,我从 Login Acitiv
我遇到了 FLAG_ACTIVITY_CLEAR_TOP 问题。当用户启动应用程序时,会出现一个屏幕供他们登录或注册。用户登录到应用程序后,我希望关闭所有以前的 Activity 。当我按下后退按钮时
我想在我的所有 Activity 设备上都有一个主页按钮,以便它们可以将您带到起点。我从堆栈溢出和 http://developer.android.com/guide/topics/fundamen
我有一个简单的用例。我的 Activity 如下所示:A > B > C 现在,我收到推送通知。 我在我的 GCMIntentService 类中执行以下操作: 在onMessage中, Intent
我有 4 个 Activity A、B、C、D、E,每个 Activity 都声明为 android:launchMode="singleInstance",A 是 B 的 parentActivit
我真的不明白所有这些标志是如何工作的,因为我完全按照文档所说的去做,但它并没有解决我的问题。我的 Activity 是这样启动的:(第一)Activity A -> Activity B -> (第二
在我正在处理的应用程序中,Chrome 选项卡用于外部 OAuth 流。 在流程结束时,自定义选项卡保持打开状态并显示一条信息性消息,并发送一封包含自定义方案链接的电子邮件。 直到 Android 1
我有一个 Activity A,它使用 startActivityForResult 启动一个新 Activity B。 Activity B 使用 FLAG_ACTIVITY_CLEAR_TOP 重
在我的菜单中有一些项目。 Home 是它的一个项目,我想成为我的应用程序的根,每当用户点击它时,Android 清除堆栈然后返回主屏幕。 这是我的代码: menu.setOnItemClickedLi
根据上图,我有一些疑问。请按顺序阅读每个步骤:- 每个 block 都是一个 Android Activity 箭头代表 Stack Direction——Activity 打开的顺序(A 在应用程序
我的申请流程: 登录->个人资料->更新个人资料->ChangePass 我所有的 Activity 都扩展了 FragmentActivity 当我在 ChangePass Activity 中按下
我有多个管理连接的 Activity (B => C => D)。如果该连接断开,它们应该全部清除并将结果返回给 A,具体取决于原因(RESULT_USER_TERMINATED、RESULT_LOW
我有一个 MainActivity(它有 launchMode=singleTop),我从它转到其他 Activity ,例如 B 和 C。现在,我想在 B 和 C 中单击某个按钮时导航回 MainA
我的 Activity 堆栈是 A B C,C 在顶部。 A 使用 startActivityForResult() 启动了 B。 现在,在 C 中,它启动 A 并使用以下代码清除顶部:
正如标题所说,为什么 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP) 或 intent.setFlags(Intent.FLAG_ACTIVITY_CL
谁能用非常简单的方式解释一下 FLAG_ACTIVITY_CLEAR_TOP 是什么意思?我知道有很多关于它的问题,但没有一个答案让我满意。有人还可以举一个这个标志有用的例子吗?谢谢。 最佳答案 详情
我的应用程序涉及跟踪车辆通过检查门的移动 当在门口张贴的人员点击车辆号码上的“通过”按钮时,该车辆应从列表中删除。我通过再次调用 VehicleActivity 类并将门 id 放入键值对中来完成此操
我有一个像这样的 Activity 堆栈 A -> B -> C。我正在启动 Activity A,并从 C 清除顶部。现在发生的情况是它将立即完成 C,然后它将恢复 A,然后大约 2 秒后它会完成
我有很多 Activity ,比如登录->主->a、b、c、d->注销 [a、b、c、d 是四个 Activity ]。当我登录应用程序时,它会转到主程序并完成登录 Activity 。和 main
我是一名优秀的程序员,十分优秀!