android - 阻止 Android 重新创建已经存在的 Activity

标签 android android-activity deep-linking recreate deeplink

我的问题是与我的应用程序的深度链接。更具体地说,只有当聊天头处于 Activity 状态时尝试从 Facebook Messenger 打开指向我的应用程序的深层链接时,才会发生这种情况。

有时,当尝试使用 FBMessenger 的深度链接返回(未打开,仅在 Messenger 覆盖应用程序后返回)到我的应用程序(只有一个 Activity)时,会重新创建 Activity。 onCreate 方法被调用,并且正在创建我的 Activity 的新实例。主要问题是,在旧 Activity 被销毁后,这种情况不会发生,我添加了日志,并且第一个新 Activity 的 onCreate 被调用,并且仅在旧 Activity 的 onDestroy 之后被调用被调用。

那么,如果 Android 尚未销毁旧 Activity 实例,为什么它会尝试创建我的 Activity 的新实例呢?

Activity 的 launchMode 设置为 singleTask

编辑:还尝试将 launchMode 设置为 singleInstancesingleTop

编辑 2:通过将 android:documentLaunchMode="intoExisting" 添加到 Activity 找到可能的修复。明天早上将进行更多测试,如果一切正常,则将此修复作为解决方案发布。

最佳答案

在您的 Android list 中使用它

 android:documentLaunchMode="intoExisting"

关于android - 阻止 Android 重新创建已经存在的 Activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45208313/

相关文章:

Android Activity 在进入后台后两次收到相同的 Intent

android - Flutter Navigator 2.0 - 从 URL 启动应用程序时路由器没有收到深层链接?

java - 替换不敏感的子字符串,保持大小写

android - 将文本从 Fragment 传递到 Fragment 到 Activity 到 Android Studio 中的接收位图

java - 以编程方式创建编辑文本并将其对齐到 TextView 的右侧

javascript - 2 小时后开始新 Activity

Android:如何让 ImageView 填满屏幕

android setOnItemClickListener 无法使用 Intent 传递数据

c# - 从另一个 VR Oculus 应用启动 VR Oculus 应用

deep-linking - 我们可以在没有 apple-app-site-association (AASA) 的情况下测试 iOS 通用链接/深层链接吗?