我在尝试处理我的活动时遇到了一些麻烦。我目前正在使用2个对话框活动来处理登录和注册。
我的主要活动会像这样调用登录活动。
Intent intent = new Intent(this, LoginActivity.class);
startActivity(intent);
登录活动会像这样调用注册活动。
Intent intent = new Intent(LoginActivity.this, SignupActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
我在layout和layout-land目录中有2个activity_signup.xml文件。出于某种原因,当我进入注册活动并旋转屏幕时,会在SignupActivity之上调用LoginActivity。
这是我的清单。
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".LoginActivity"
android:theme="@android:style/Theme.Holo.Dialog.NoActionBar" >
</activity>
<activity
android:name=".SignupActivity"
android:theme="@android:style/Theme.Holo.Dialog.NoActionBar" >
</activity>
</application>
<uses-permission android:name="android.permission.INTERNET"/>
提前感谢您的帮助。
所以我不小心解决了这个问题......当方向发生变化时,MainActivity看到用户已登录并启动了一个新的LoginActivity。尽管SignupActivity处于前台。我只能假设它与LoginActivity和SignupActivity是对话活动的事实有关。
以下是我用来检查屏幕是否旋转的MainActivity的代码。
class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
//Check if user is logged in, launch LoginActivity
}
}
}
答案 0 :(得分:0)
将此代码添加到 AndroidManifest.xml
<activity
android:name="com.example.testnumber.MainActivity"
android:label="@string/app_name" android:screenOrientation="portrait">
此代码将阻止旋转屏幕。您必须在活动中添加此代码。
答案 1 :(得分:0)
尝试将此添加到您的SingupActivity
android:launchMode="singleTask"
它只允许一次活动迭代