0

我创建了两个活动,即 MainActivity 和注册。MainActivity 用于登录,用户输入他的名字和密码。MainActivity 有三个按钮

  1. 登录按钮
  2. 注册按钮
  3. 退出按钮。

当我按下登录按钮时,用户将使用他输入的用户名和密码登录到他的帐户。单击注册按钮将导航到注册活动。注册活动有一个返回按钮,用于导航回到主活动。我在 mainactivity 中有第三个退出按钮,可以完全退出应用程序。我创建了一个退出按钮的实例,在退出按钮的 setonclicklistener 部分,我编写了以下代码。

Button exit=(Button)findViewById(R.id.exit);
exit.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        Intent intent = new Intent(Intent.ACTION_MAIN);
        intent.addCategory(Intent.CATEGORY_HOME);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);
        finish();
        System.exit(0);         
    }
});

现在,当我首先运行应用程序时,将显示 mainactivity。单击注册按钮后,将显示注册活动。当我点击注册活动中的后退按钮时,我将被移动到主活动。然后,当我按下退出按钮时,从 mainactivity 中,应用程序关闭并显示主屏幕。当我再次打开我的应用程序时,我看到的不是主要活动,而是注册活动。请帮帮我。当我再次单击我的应用程序图标而不是注册活动时,我需要查看 mainactivity。抱歉这么长的问题。谁能帮帮我..

4

4 回答 4

1

在 MainActivity 内的 Android Manifest.xml 文件中添加此 Tag

android:clearTaskOnLaunch="true"
于 2014-01-06T20:03:36.367 回答
0

尝试将此添加到您的注册活动中:

public void onBackPressed() {           
        finish();
}

只需删除,System.exit(0);因为您已经调用了finish();

于 2014-01-06T20:08:57.717 回答
0

使用主活动中的 api 开始您的注册活动startActivityForResult(),无需从单击退出按钮的回调调用任何活动,只需finish()完成这项工作......

于 2014-01-06T20:01:24.570 回答
0

http://developer.android.com/guide/topics/manifest/activity-element.html关于 noHistory :

尝试将此添加到您的 Manifest.xml 文件中的 avtivity 标记之间。

机器人:noHistory =“真”

于 2014-01-06T20:29:06.750 回答