我的应用程序有3个活动(MainActivity,SampleActivity,TempActivity),应用程序必须从MainActivity开始,因为我在AndroidManifest中将其注册为
<activity
android:name=".MainActivity"
android:configChanges="keyboardHidden|orientation"
android:label="@string/app_name"
android:launchMode="singleTask"
android:screenOrientation="landscape"
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=".TempActivity"
android:configChanges="keyboardHidden|orientation"
android:label="@string/app_name"
android:launchMode="singleTask"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" >
</activity>
<activity
android:name=".SampleActivity"
android:configChanges="keyboardHidden|orientation"
android:label="@string/app_name"
android:launchMode="singleTask"
android:screenOrientation="landscape"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen">
</activity>
当我从MainActivity切换到TempActivity并返回MainActivity然后关闭Application时,它通常从TempActivity开始。在我启动应用程序后,这种错误的行为后,它从错误的活动(TempActivity)开始。
请帮我解决这个问题
答案 0 :(得分:3)
当你从TempActivity活动转到MainActivity时,你给finish()
例如:
Intent myIntent = new Intent(TempActivity.this,MainActivity .class);
startActivity(myIntent);
光洁度();
答案 1 :(得分:0)
这是因为您的活动未被销毁,只是暂停(检查活动life cycle)。您可以覆盖onPause
以执行所需的行为。
答案 2 :(得分:0)
你是如何关闭应用程序,意味着通过主页按钮应用程序不要破坏活动,活动只停止。要退出应用程序,您需要完成应用程序中的所有活动。
答案 3 :(得分:0)
无论何时按下主页按钮,您都会假设您的应用程序已关闭。但它不是!
根据android活动生命周期,您的应用程序将继续在后台运行,当您按下应用程序图标时,它将从它进入后台的位置开始。
如果您使用的是TempActivity,如果按主页按钮,它将仅从TempActivity开始。要确保当您按下主页按钮时,您的活动应该从MainActivity开始 在您的代码中进行以下更改。
<强> TempActivity.java 强>
@Override
void onPause()
{
super.onPause();
finish();
}
因此,当您下次打开应用程序时,它将从MainActivity开始。