Я знаю, что это известная ошибка, и она уже зарегистрирована в Google.Я также просмотрел существующие посты здесь на SO, но упомянутый обходной путь не сработал для меня, поэтому я проверил, делаю ли я что-то не так.
Таким образом, мое приложение выложено так:У меня есть основное действие, которое запускает, а затем выполняет вход, и как только пользователь заканчивает вход в основное действие, возвращается с отображением фрагмента.Проблема в том, что когда я запускаю приложение, появляется главное действие, затем я нажимаю кнопку и появляется действие входа.Теперь, когда я перехожу в фоновый режим и возвращаюсь, вместо входа в действие отображается основное действие.
Ниже приведены 2 обходных пути, которые я пробовал в создании основного действия, но не работал:
if (!isTaskRoot
&& intent.hasCategory(Intent.CATEGORY_LAUNCHER)
&& intent.action != null
&& intent.action == Intent.ACTION_MAIN) {
finish()
return
}
if (!isTaskRoot && intent.flags != null && Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT != 0) {
finish()
return
}
Файл манифеста Android:
<activity
android:name=".MainActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustNothing"
android:launchMode="singleTask"
android:exported="true">
<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" />
<data android:scheme="test-app" />
<data android:host="loc" />
</intent-filter>
<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:scheme="https" />
<data android:scheme="http" />
<data android:host="*" />
<data android:pathPattern="/.*/apps/testApp.*" />
</intent-filter>
</activity>
<activity
android:name=".SignInActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan" />
Для представленияВойдите в активность:
startActivityForResult(Intent(this, SignInActivity::class.java), 123)
Есть ли что-то, что я делаю неправильно.Что-нибудь еще, что я мог попробовать?