当我打开我的应用程序并按下手机的按钮以查看所有已打开的应用程序时,我看到LoginActivity
和另一个窗口,即在登录屏幕之后启动的HomeActivity
。我不知道我是否在这里清楚,我可能没有正确的词来描述它。如果不清楚,请不要犹豫,详细询问...
我不明白为什么它现在出现了,我一段时间没有修改我开展活动的方式......
在LoginActivity代码中:
private void startHomeActivity() {
if (dialog != null && dialog.isVisible())
dialog.dismiss();
final Intent intent = new Intent(ActivityLogin.this, ActivityHome.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
// Smooth transition.
new Handler().postDelayed(new Runnable() {
public void run() {
startActivity(intent);
}
}, 500);
overridePendingTransition(R.anim.pull_in_right, R.anim.push_out_left);
}
在清单中:
<activity
android:name=".activityv2.ActivityLogin"
android:label="@string/app_name"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustResize"></activity>
<activity
android:name=".activityv2.ActivityHome"
android:label="Security Agent"
android:launchMode="singleInstance"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.nfc.action.TECH_DISCOVERED" />
<action android:name="android.nfc.action.TAG_DISCOVERED" />
</intent-filter>
<meta-data
android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/nfc_tag_filter" />
</activity>
答案 0 :(得分:1)
理想情况下,如果用户成功登录,您应该关闭LoginActivity
- 这样,只会显示HomeActivity
。
所以也许可以在开始新finish()
:
Activity
new Handler().postDelayed(new Runnable() {
public void run() {
startActivity(intent);
//kill current activity (LoginActivity?)
finish();
}
}, 500);
我希望这会有所帮助。