Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 注销。按下后退按钮,再次登录_Android_Login - Fatal编程技术网

Android 注销。按下后退按钮,再次登录

Android 注销。按下后退按钮,再次登录,android,login,Android,Login,我将从此页面注销。它正在正常注销,但按下“后退”按钮后,它将再次登录。我已经给出了一个适当的意图函数,但它并没有按照我的命令运行。请给我一个解决这个问题的办法 欢迎页面代码:- 我想在登出时,甚至在按下后退按钮后,都能进入登录页面 登录页面代码:- 谢谢您可以在登录页面上覆盖onBackPressed,然后当用户单击back时,您可以按自己的方式处理: @Override public void onBackPressed() { //super.onBackPressed(); /

我将从此页面注销。它正在正常注销,但按下“后退”按钮后,它将再次登录。我已经给出了一个适当的意图函数,但它并没有按照我的命令运行。请给我一个解决这个问题的办法

欢迎页面代码:-

我想在登出时,甚至在按下后退按钮后,都能进入登录页面

登录页面代码:-


谢谢

您可以在登录页面上覆盖onBackPressed,然后当用户单击back时,您可以按自己的方式处理:

@Override
public void onBackPressed()
{
     //super.onBackPressed();  // disable this
}

您可以在登录页面上覆盖onBackPressed,然后当用户单击back时,您可以按自己的方式处理它:

@Override
public void onBackPressed()
{
     //super.onBackPressed();  // disable this
}
您需要在注销时完成之前的所有活动。尝试下面的代码,您可以发出flag Intent.flag\u ACTIVITY\u NEW\u任务

关于你的问题,你说我想在登出时进入登录页面,甚至在按下后退按钮之后。 这不是任何应用程序的正确行为。当您从堆栈上的最后一个活动中按back press时,应用程序应关闭。因此,不要在登录活动中禁用onBackPressed

您需要在注销时完成之前的所有活动。尝试下面的代码,您可以发出flag Intent.flag\u ACTIVITY\u NEW\u任务

关于你的问题,你说我想在登出时进入登录页面,甚至在按下后退按钮之后。
这不是任何应用程序的正确行为。当您从堆栈上的最后一个活动中按back press时,应用程序应关闭。因此,不要在登录活动中禁用onBackPressed

您必须在登录时完成欢迎活动,因此用户将无法再次返回此活动,除非再次登录。你必须添加完成;注销时

Intent intent = new Intent(Welcome.this,login.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
在您的登录页面中,当您按下后退按钮时,您还可以通过覆盖onBackPressed来处理您想要做的事情,或者退出应用程序,或者做其他事情;方法

@Override
public void onBackPressed()
{
  super.onBackPressed();
}

您必须在登录时完成欢迎活动,因此用户将无法再次返回此活动,除非再次登录。你必须添加完成;注销时

Intent intent = new Intent(Welcome.this,login.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();
在您的登录页面中,当您按下后退按钮时,您还可以通过覆盖onBackPressed来处理您想要做的事情,或者退出应用程序,或者做其他事情;方法

@Override
public void onBackPressed()
{
  super.onBackPressed();
}

我认为您不应该正确清除共享首选项,或者应该在呈现欢迎活动之前检查共享首选项值。然后你应该加上finish;星后触觉


为了防止意外登录,您应该在之前检查SharedReferences值是否已设置。禁用后退按钮不是一个好选项。

我认为您不应该正确清除共享首选项,或者应该在呈现欢迎活动之前检查共享首选项值。然后你应该加上finish;星后触觉


为了防止意外登录,您应该在之前检查SharedReferences值是否已设置。禁用后退按钮不是一个好选项。

成功登录后更改了isLogin标志, 更新您的登录活动代码

public class login extends AppCompatActivity {
    SQLiteDatabase db;
    SQLiteOpenHelper openHelper;
    Button __btnLogin;
    EditText __txtEmail,__txtPass;
    Cursor cursor;




    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);





        Log.d("login","13");

        openHelper = new DatabaseHelper(this);
        db=openHelper.getReadableDatabase();
        __btnLogin = (Button)findViewById(R.id.btnLogins);


        __txtEmail = (EditText)findViewById(R.id.txtEmails);
        __txtPass = (EditText)findViewById(R.id.txtPasss);




        Log.d("login","14");

        __btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String email = __txtEmail.getText().toString();
                String pass = __txtPass.getText().toString();




                if (pass == "" || email == "") {

                    Toast.makeText(getApplicationContext(),"No Entry", Toast.LENGTH_LONG).show();

                }



                Log.d("login","15");

                cursor = db.rawQuery("SELECT * FROM "+ DatabaseHelper.TABLE_NAME + " WHERE " + DatabaseHelper.COL_5 + " =? AND " + DatabaseHelper.COL_4 + " =? ", new String[]{email,pass});
                Log.d("login","16");

                if(cursor!=null) {
                    Log.d("login","17");

                    if (cursor.getCount()>0) {
                        Log.d("login","18");
                        //cursor.moveToNext();
                        Log.d("login","19");
  SharedPreferences pref= PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
        SharedPreferences.Editor editor = pref.edit();
        editor.putBoolean("isLogin", true);
        editor.commit();

                        startActivity(new Intent(login.this, Welcome.class));
                        Toast.makeText(getApplicationContext(), "Login Successfully", Toast.LENGTH_LONG).show();
                    }

                    else {
                        Log.d("login","20");
                        Toast.makeText(getApplicationContext(),"Error", Toast.LENGTH_LONG).show();
                        Log.d("login","21");
                    }
                }



            }
        });




    }
}

成功登录后更改了isLogin标志, 更新您的登录活动代码

public class login extends AppCompatActivity {
    SQLiteDatabase db;
    SQLiteOpenHelper openHelper;
    Button __btnLogin;
    EditText __txtEmail,__txtPass;
    Cursor cursor;




    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);





        Log.d("login","13");

        openHelper = new DatabaseHelper(this);
        db=openHelper.getReadableDatabase();
        __btnLogin = (Button)findViewById(R.id.btnLogins);


        __txtEmail = (EditText)findViewById(R.id.txtEmails);
        __txtPass = (EditText)findViewById(R.id.txtPasss);




        Log.d("login","14");

        __btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String email = __txtEmail.getText().toString();
                String pass = __txtPass.getText().toString();




                if (pass == "" || email == "") {

                    Toast.makeText(getApplicationContext(),"No Entry", Toast.LENGTH_LONG).show();

                }



                Log.d("login","15");

                cursor = db.rawQuery("SELECT * FROM "+ DatabaseHelper.TABLE_NAME + " WHERE " + DatabaseHelper.COL_5 + " =? AND " + DatabaseHelper.COL_4 + " =? ", new String[]{email,pass});
                Log.d("login","16");

                if(cursor!=null) {
                    Log.d("login","17");

                    if (cursor.getCount()>0) {
                        Log.d("login","18");
                        //cursor.moveToNext();
                        Log.d("login","19");
  SharedPreferences pref= PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
        SharedPreferences.Editor editor = pref.edit();
        editor.putBoolean("isLogin", true);
        editor.commit();

                        startActivity(new Intent(login.this, Welcome.class));
                        Toast.makeText(getApplicationContext(), "Login Successfully", Toast.LENGTH_LONG).show();
                    }

                    else {
                        Log.d("login","20");
                        Toast.makeText(getApplicationContext(),"Error", Toast.LENGTH_LONG).show();
                        Log.d("login","21");
                    }
                }



            }
        });




    }
}

如果单击“注销”按钮,则导航到“登录”活动,并在“登录”活动中侦听是否按了“后退”

意图。。。 完成


反压

如果单击“注销”按钮,则导航到“登录”活动,并在登录活动上侦听是否按了“后退”

意图。。。 完成


反压

请提供您的清单文件。请提供您的清单文件。您可以在vpn服务代码中提供帮助吗。我会给你完整的代码。请你检查一下,并建议我修改代码好吗。我不明白我到底错在哪里。请这将是非常有帮助的我。嗯,我不太熟悉VPN。但是你必须用适当的标签和代码发布另一个问题给别人看。好的,我一定会这么做。谢谢你的回复和时间。你能帮我查一下vpn服务代码吗。我会给你完整的代码。请你检查一下,并建议我修改代码好吗。我不明白我到底错在哪里。请这将是非常有帮助的我。嗯,我不太熟悉VPN。但是你必须用适当的标签和代码发布另一个问题给别人看。好的,我一定会这么做。谢谢你的回复和时间。你能帮我查一下vpn服务代码吗。我会给你完整的代码。请你检查一下,并建议我修改代码好吗。我不明白我到底错在哪里。请这将是非常有帮助的我。你可以帮助在vpn服务代码。我会给你完整的代码。请你检查一下,并建议我修改代码好吗。我不明白我到底错在哪里。请这将是非常有帮助的我。你可以帮助在vpn服务代码。我会给你完整的代码。请你检查一下,并建议我修改代码好吗。我不明白我到底错在哪里。请告诉我这将非常有帮助
你能帮我查一下vpn服务代码吗。我会给你完整的代码。请你检查一下,并建议我修改代码好吗。我不明白我到底错在哪里。求你了,这对我很有帮助。