なぜなら、私はすべてのアクティビティを1インスタンスで作成する必要があるから、android:launchMode="singleInstance"
をマニフェストに入れます。しかし、デバイス上で「ホーム」を押して再び開くと、システムはスタックをクリアし、開いていた最後のアクティビティではなくルートアクティビティを開きます。ユーザーの最後に開いたアクティビティを保持するにはどうすればよいですか?singleInstance
をマニフェストに保持しますか?アクティビティ 'スタック(アプリケーションを終了した後、launchMode = "singleInstance"の場合、システムはスタックをクリアします)
EDIT: マニフェスト
...
<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を使用し、プッシュをタップするとMainActivityが開き、次にユーザーがMainActivityを再度参照して表示されるので、singleInstanceが必要なのは2番目の理由です – alla
マニフェストを投稿します –