【发布时间】:2014-06-06 09:08:10
【问题描述】:
我有 3 个活动,活动 1、活动 2 和活动 3。 当应用程序进入后台时,它总是从相同的活动中打开。例如 Activity1 是一个启动器 Activity,而不是导航到 Activity2,现在我按下 HOME 按钮,应用程序进入后台,每当应用程序重新打开它时,它就会打开 Activity2。但是在某些设备(三星 S5)上我遇到了问题,当应用程序在 Activity2 上时,按下主页按钮而不是重新打开应用程序它总是打开 Activity1,它是启动器 Activity。但我希望当 App 重新打开时,它会打开上次打开时相同的 Activity。
Activity2 代码如下
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>
【问题讨论】:
-
您是否在活动的 onpause 方法中使用了 finish() 或其他东西??
-
你能贴一些代码吗?
-
在哪个活动上? "非法争论
-
您可以尝试从清单中删除
android:stateNotNeeded="true"以查看这是否会改变行为。三星设备可能因此而表现异常。否则,您应该在按下 HOME 按钮后使用adb shell dumpsys activity activities查看活动堆栈,以查看您的任务状态是否正确。还要查看 logcat 以查看是否有任何相关错误。
标签: android android-activity activity-finish