我遇到了一個問題,即活動的多個實例存在於後臺堆棧中。Android的多個活動實例
例如
棧:A> B> C 按家庭和使用其他應用程序,然後重新啓動我的應用程序 棧:A> B> C> A
我希望我的應用程序恢復與活性C,這在大多數情況下它會,但偶爾它會恢復活動A,然後當我按回它去活動C.
我知道這個問題不是由Android殺死我的應用程序,因爲如果這是它會恢復的情況下活動A作爲根。
我嘗試將launchMode屬性更改爲singleTask和singleInstance,但這會導致活動A被恢復爲根,這不是我想要的行爲,我希望它回到之前查看過的活動和後臺堆棧完好無損(我明白這並不總是可能的,如果操作系統殺死應用程序,這很好)。
我不相信設置launchMode屬性singleTop將是有用的任一,因爲這會防止A>甲情況但不是A> B> A或A> B> C> A等
清單:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package=""
android:versionCode="1"
android:versionName="1.0"
android:installLocation="auto"
>
<application android:label="@string/app_name" android:debuggable="false"
android:name=""
android:icon="@drawable/icon" android:theme="@style/CustomTheme"
android:targetSdkVersion="8" android:minSdkVersion="4">
<activity android:name=".activity.A"
android:windowSoftInputMode="stateUnchanged|adjustPan"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".activity.B"
android:screenOrientation="portrait"/>
<activity android:name=".activity.C"
android:screenOrientation="portrait" />
<activity android:name=".activity.D"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
<activity android:name=".activity.E"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
<service android:name=".service.S" />
<uses-library android:name="com.google.android.maps" />
</application>
<uses-sdk android:minSdkVersion="4"
android:targetSdkVersion="8"
/>
<supports-screens
android:largeScreens="false"
android:normalScreens="true"
android:smallScreens="true"
android:anyDensity="true"
/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
任何意見,將不勝感激
大衛
你如何啓動活動A?它是主要的活動/啓動器活動嗎? – Mannaz
是它的主要/啓動器活動:'code' intent-filter>'code' –
user648462
其他任何活動是否會更改默認的App Stack行爲? – Mannaz