Ars*_*ius 9 android android-fragments android-activity kotlin android-fragmentactivity
我有一个 Activity 和 fragment,它是通过jetpack navigation解决的。
我的一项活动已在 AndroidManifest.xml 文件中launchMode设置为singleTop。
当我startActivity在我的片段中使用方法时,如果调用方任务的堆栈顶部已经有一个相同类型的 Activity 实例,它会按预期工作,不会创建任何新的 Activity。
但是如果使用startActivityForResult那么新的 Activity 实例会继续创建,即使它已经在后堆栈的顶部。
我在最新的 Android 9 版本上遇到了这个问题。我在旧版本的 Android (4.1) 上测试了我的代码,singleTop启动模式按预期工作。
如果我使用以下代码以编程方式设置启动模式,那么有趣的是:
val intent = Intent(context, T::class.java)
intent.flags = Intent.FLAG_ACTIVITY_SINGLE_TOP or Intent.FLAG_ACTIVITY_CLEAR_TOP
Run Code Online (Sandbox Code Playgroud)
singleTop启动模式可以startActivityForResult在 Android 9 上正常工作,没有任何问题。
那么为什么它不能从 AndroidManifest.xml 工作?我错过了什么?
| 归档时间: |
|
| 查看次数: |
614 次 |
| 最近记录: |