android 开发 singleTask启动模式下传值的坑
2024-10-19 16:30:48
日常填坑。
做了什么操作引起的?如下:
在活动A 启动模式设置为singleTask ,然后再用活动A启动活动B,活动B启动活动C。 现在我的活动C要使用intent携带值去启动活动A。在活动A中正常的操作去获取值,会发现intent中没有任何值。
为什么会这样呢?如下:
因为活动A里的intent是旧的,之前活动A启动就已经保留的intent。如果这个时候用getIntent方法是无法获取活动C携带值的Intent。
如何解决?如下:
我们需要更新活动A里的intent,把原先的intent重新覆盖活动C传过来的intent。
具体操作:
@Override
protected void onNewIntent(Intent intent) {
Log.e(TAG, "onNewIntent被调用");
super.onNewIntent(intent);
setIntent(intent);
}
在活动A里重写一个onNewIntent方法,让活动A在恢复活动的时候更新到最新的intent。
最新文章
- CF #296 (Div. 1) A. Glass Carving 线段树
- FreeBSD从零开始---安装后配置(二)
- fragment的切换(解决REPLACE的低效)
- GIT文件的三种状态
- 好用的调色软件 ColorSchemer Studio
- Redis内存使用优化与存储(转)
- C#中的Attribute和Java中的Annotation
- 【MyLocations】标记位置App开发体会
- Oracle外部表详解(转载)
- CentOS 6.3 源码安装LAMP(Linux+Apache+Mysql+Php)环境
- UVa 496 Simply Subsets (STL&;set_intersection)
- Cortex-A9 PWM Timer
- 我的Emacs折腾经验谈(一) 一些给新人的建议
- 关联容器(map):支持高效查找的容器,一种键值对的集合。
- webpack 4.x 遇到的错误
- 射线法(1190 - Sleepwalking )
- vue 定义全局函数,监听android返回键事件
- vue Element学习和问题处理
- transfer.sh:通过命令行简单的创建文件分享
- day13 十三、迭代器、生成器、枚举对象