我在我的应用程序中使用Branch IO,根据他们的文档,我正在使用android:launchMode="singleTask"
我的活动。
这是我的 AndroidManifest 的一些代码片段。
<activity
android:name=".SplashScreen"
android:launchMode="singleTask"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateAlwaysHidden|adjustPan">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<data
android:host="open"
android:scheme="com.package.name" />
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
</intent-filter>
<!-- Branch App Links (optional) -->
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="app.link"
android:scheme="https" />
<!-- <data android:scheme="https" android:host="example-alternate.app.link" /> -->
</intent-filter>
</activity>
一切正常,除了当我在使用应用程序时按下主页按钮并点击应用程序/启动器图标时,会调用启动屏幕活动的 onCreate 方法,这使得它看起来像是从一开始就启动了应用程序。但是,如果我在使用应用程序时按下主页按钮并从最近的应用程序中打开它,则不会调用 onCreate 并且一切正常。
从最近的应用程序和应用程序/启动器图标带到前台时,如何使应用程序行为保持一致?
我尝试删除使应用程序/启动器图标和最近的应用程序完美启动的 singleTask 启动模式,但是当点击分支 IO 链接时,会创建应用程序的新实例。我可以理解,要克服这个问题,只有他们要求将 singleTask 置于启动模式。
我已经在许多使用深层链接的应用程序中检查了这种情况,但它们没有这个问题!
我一定做错了我看不到的事情。
是否缺少某些东西或实施有误?