1

可能重复:
android按下后退按钮应该退出应用程序

我正在构建一个注册和登录屏幕只是为了练习。所以我放了 SharedPreferences 以便当用户再次打开应用程序时,它将引导他们登录活动,而不是从注册重新开始。但是,当我从登录活动中按下返回按钮时,它仍然会带我返回注册活动,这可能会更改已保存的 SharedPreferences。我想禁用此功能,当用户按下后退按钮时如何简单地退出应用程序?

谢谢,

4

4 回答 4

9

如果您希望后退按钮返回注册屏幕,最干净的解决方案是使用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>
于 2012-10-02T17:31:26.683 回答
1
@Override
public void onBackPressed() {
    // TODO Auto-generated method stub
    super.onBackPressed();
}

此方法在按下后退按钮时捕获。

于 2012-10-02T17:29:40.720 回答
0
@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 ()

.当您的活动完成并应该关闭时调用它。ActivityResult 被传播回通过 onActivityResult() 启动你的人。

如果要关闭通过 startActivityForResult 启动的另一个活动:

public void finishActivity (int requestCode)

.Force 完成您之前使用 startActivityForResult(Intent, int) 启动的另一个活动。

于 2012-10-02T17:37:58.983 回答
0

除了 Paul-Jan 的回答,您可以在注册活动中调用 startActivity(...) 后立即调用 finish() 。

于 2012-10-02T17:38:30.063 回答