我有3个活动,Activity1,Activity2和Activity3。 当应用程序转到后台时,它始终从同一活动打开。例如,Activity1是一个Launcher活动,而不是导航到Activity2,现在我按下HOME按钮,应用程序转到后台,每当应用程序重新打开它时,打开Activity2。但是在某些设备(三星S5)上我遇到了问题,当App在Activity2上时,按下Home按钮比重新打开app它总是打开Activity1这是启动器Activity。但是我希望当App重新打开时,它会在上次打开相同的Activity。
活动2代码
public class Activity2 extends Activity{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity2);
}
public void onActivity1(View view){
Intent mainIntent = new Intent(this, Activity1.class);
mainIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
mainIntent.putExtra("EXIT", true);
startActivity(mainIntent);
Settings.this.finish();
}
public void onActivity3(View view) {
Intent infoIntent = new Intent(this, Activity3.class);
infoIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
infoIntent.putExtra("EXIT", true);
startActivity(infoIntent);
Settings.this.finish();
}
}
以下是清单代码
<activity
android:name=".SplashScreen"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".Activity1"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait"
android:stateNotNeeded="true"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:windowSoftInputMode="stateAlwaysHidden" >
</activity>
<activity
android:name=".Activity2"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
</activity>
<activity
android:name=".Activity3"
android:configChanges="orientation|keyboardHidden"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
</activity>
答案 0 :(得分:1)
我认为这是不可能的,因为由于内存问题或其他原因,系统可以在任意时间杀死后台活动。如果您的活动被操作系统杀死,则无法将其恢复到之前的状态(在此处为活动2)。实际上这不是设备问题,它可能取决于设备规格,特别是像内存。
答案 1 :(得分:0)
尝试使用android:launchmode =&#34; singleTask&#34;为您的主要活动:)
答案 2 :(得分:-1)