【发布时间】:2015-06-26 09:35:22
【问题描述】:
我正在使用自定义 URI 方案将用户从网站重定向到应用程序,但是在启动应用程序时,它会打开一个新实例,而不是仅仅恢复已经打开的实例。
我已经尝试过使用 launchMode="singleTask" 或 "singleInstance" 但它们似乎并没有影响它。
<!-- Splash. -->
<activity
android:launchMode="singleTask"
android:name=".Activities.Splash"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateHidden"
>
<intent-filter>
<data android:scheme="customscheme" />
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT"/>
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
例子:
用户打开应用程序,从 Activity A 转到 Activity B。
用户打开网站,并通过 URI 被重定向回应用程序。
应用程序现在在 Activity A 上。
用户按下返回按钮,销毁 Activity A。
活动 B 现在来自第一个实例。
感谢您的时间和帮助!
【问题讨论】:
-
第一:检查您是否没有选中“不保留活动”...第二:它会打开一个新实例...您如何确定关于这个?
-
在哪里检查“不保留活动”?并且因为在使用应用程序时,按下后退按钮关闭应用程序只是关闭应用程序,并在其下方显示另一个。
-
它是一些程序员/调试选项......你仍然写了活动 b 出现......活动是“下”它吗?
-
第一次运行的活动 B 在第二次运行的活动 A 下。
-
如果你错了怎么办......这是第一次运行的活动 a 刚刚移动到活动 B 前面......这就是为什么我问你为什么这么确定......跨度>
标签: android android-intent android-activity uri