可能重复:
android pressing back button should exit the appAndroid - 按下后退按钮时如何退出活动?
我建立一个注册和登录屏幕只是一个练习。因此,我将SharedPreferences放在了用户再次打开该应用程序时,它将引导它们登录活动,而不是从寄存器重新开始。但是,当我从登录活动中按回按钮时,它仍然使我回到注册可能会改变已保存的SharedPreferences的活动。我想禁用此功能,当用户按下后退按钮时如何退出应用程序?
谢谢,
可能重复:
android pressing back button should exit the appAndroid - 按下后退按钮时如何退出活动?
我建立一个注册和登录屏幕只是一个练习。因此,我将SharedPreferences放在了用户再次打开该应用程序时,它将引导它们登录活动,而不是从寄存器重新开始。但是,当我从登录活动中按回按钮时,它仍然使我回到注册可能会改变已保存的SharedPreferences的活动。我想禁用此功能,当用户按下后退按钮时如何退出应用程序?
谢谢,
如果从未想后退按钮返回到登录画面,最干净的解决办法是在清单中使用noHistory
属性从活动历史中排除,即
<activity
android:name=".RegistrationActivity"
...
android:noHistory="true" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
super.onBackPressed();
}
此方法渔获时的返回按钮被按下。
这拦截后退按钮单击,但它如何防止用户返回到以前的活动? – Sam
使用这个,它可以帮助你去前面的活动,mainIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); \t \t \t \t startActivity(mainIntent); \t \t \t \t finish(); –
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_BACK && event.getAction() ==KeyEvent.ACTION_DOWN)
{
//Handler for KEYCODE_BACK Pressing.
}
}
如果你想关闭该活动:当你的活动完成,应关闭
public void finish()
.CALL这。 ActivityResult会传播给通过onActivityResult()启动的任何人。
如果你想关闭另一个活动通过startActivityForResult开始:
public void finishActivity (int requestCode)
.Force完成你之前曾与startActivityForResult(意向,INT)开始了另一项活动。
除了Paul-Jan的回答,您可以在您的注册活动中调用startActivity(...)之后立即调用finish()。
+1。这听起来不错。 –
完美地工作,因为你提到,谢谢! –