Я использую 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>
Все работает нормально, за исключением случаев, когда я нажимаю кнопку «Домой» во время использования приложения и нажимаю на значок приложения / средства запуска, на метод создания экрана Splash.вызывается активность, из-за которой создается впечатление, что приложение запускается с самого начала.Однако, если я нажимаю кнопку «Домой» во время использования приложения и открываю его из последних приложений, onCreate не вызывается, и все работает отлично.
Как мне обеспечить согласованное поведение приложения, когда оно выводится на передний план из недавних приложений и App /Значок запуска?
Я попытался удалить режим запуска singleTask, который делает запуск идеальным из значка приложения / средства запуска и недавних приложений, но при нажатии на ссылку ввода-вывода филиала создается новый экземпляр приложения.Я могу понять, что для преодоления этой проблемы только они просят перевести singleTask в режим запуска.
Я проверил этот сценарий во многих приложениях, которые используют глубокие ссылки, и у них нет этой проблемы!
Я, должно быть, делаю что-то не так, чего не вижу.
Что-то не хватает или реализация неверна?