【发布时间】:2018-08-25 18:11:54
【问题描述】:
以下情况:
- 应用从深层链接 (sms) 启动并启动 MainActivity
- 用户在打开 SecondActivity 的应用中按下开始按钮
- 应用进入后台
- 用户在启动器中再次按下应用程序图标 => 我希望 SecondActivity 仍然处于活动状态。但相反,MainActivity 重新启动。
尝试使用“singleTop”活动模式 - 没有区别。
SecondActivity 是从 MainActivity 启动的,没有任何特殊的意图标志,简单的 startActivity()
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:alwaysRetainTaskState="true"
android:launchMode="singleTop"
android:windowSoftInputMode="adjustResize">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE”/>
【问题讨论】:
-
我可以看看你的
manifest文件吗? -
已更新清单文件
-
你可以试试
lauchmode="singleTask"吗?不知道会解决我想说的一件事通常我们不会使用startActivity()启动启动器活动。 -
您可能会看到一个令人讨厌的 Android 错误。从主屏幕启动应用程序并按返回键后会发生什么?你现在看到
SecondActivity了吗?还是应用程序直接退出? -
你能否覆盖两个活动中的 onPause 和 onDestroy 生命周期事件,并在它们被调用时记录一条消息,如果 onDestroy 被调用,那么你的应用程序不会进入后台,它会被杀死解释为什么它重新启动应用程序。
标签: android android-activity deep-linking