【问题标题】:Prevent Android from recreating already existent activity防止 Android 重新创建已经存在的活动
【发布时间】:2017-12-25 18:33:24
【问题描述】:

我的问题是与我的应用程序的深层链接。更具体地说,这也仅在尝试从 Facebook Messenger 打开指向我的应用的深层链接且聊天头处于活动状态时才会发生。

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

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

Activity 的launchMode 设置为singleTask

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

编辑 2:通过将 android:documentLaunchMode="intoExisting" 添加到活动中找到可能的修复。明天早上会再做一些测试,如果一切正常,会将此修复作为解决方案发布。

【问题讨论】:

    标签: android android-activity deep-linking recreate deeplink


    【解决方案1】:

    在您的 Android 清单中使用它

     android:documentLaunchMode="intoExisting"
    

    【讨论】:

    猜你喜欢
    • 2012-05-16
    • 2011-08-04
    • 2020-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-29
    • 1970-01-01
    相关资源
    最近更新 更多