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服务代码吗。我会给你完整的代码。请你检查一下,并建议我修改代码好吗。我不明白我到底错在哪里。求你了,这对我很有帮助。