Я не понимаю, почему это происходит: мне нужно создать каждую активность в одном экземпляре, поэтому я помещаюв манифест. Но когда я нажимаю «Домой» на устройстве и снова открываю его, система очищает стек и открывает корневую активность, а не последнюю, которая была открыта. Как сохранить последнюю открытую активность для пользователя, но сохранить singleInstance
в манифесте?Стол работ (после выхода из приложения система очищает стек, если launchMode = "singleInstance")
EDIT: Manifest
...
<application
...>
<activity
android:name=".ui.login.LoginActivity"
android:launchMode="singleInstance"
android:screenOrientation="portrait"/>
<activity
android:name=".ui.activity.MainActivity"
android:label="${app_title_constant}"
android:launchMode="singleInstance"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
<intent-filter>
<data android:scheme="${scheme}"/>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
</intent-filter>
</activity>
<activity
android:name=".ui.more.service.ScannerActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme"/>
<activity
android:name=".ui.activity.CardsListForSendActivity"
android:launchMode="singleInstance"
android:screenOrientation="portrait"/>
<activity
android:name=".ui.activity.CountriesActivity"
android:launchMode="singleInstance"
android:screenOrientation="portrait"/>
<activity
android:name=".ui.activity.StepperCardPurchaseActivity"
android:launchMode="singleInstance"
android:screenOrientation="portrait"/>
<service
android:name=".service.CacheContactsIntentService"
android:exported="false"/>
<service
android:name=".managers.push.PushNotificationExtenderService"
android:exported="false">
<intent-filter>
<action android:name="com.onesignal.NotificationExtender"/>
</intent-filter>
</service>
<receiver
android:name=".managers.push.PushBroadcastReceiver"
android:enabled="true">
</receiver>
</application>
</manifest>
Есть ли причина, по которой вам нужно создать каждую активность в одном экземпляре? Если нет, не делайте того, чего не ожидает ваш пользователь. –
@BartFriederichs соответствует требованиям клиента. Кроме того, я использую OneSignal для push-уведомлений, и когда вы нажимаете push, он открывает MainActivity, затем пользователь отбирает Back и снова видит MainActivity, поэтому это вторая причина, по которой мне нужно singleInstance – alla
опубликовать ваш манифест –