在android中完全从应用程序注销

在android中完全从应用程序注销,android,android-activity,logout,Android,Android Activity,Logout,我有3个以上的屏幕,每个屏幕顶部都有注销按钮,当我单击注销按钮时,它应该进入登录页面,如果我单击登录页面上的后退按钮,它不应该进入应用程序并退出应用程序 在这里,我尝试了注销按钮的代码单击: Intent in = new Intent(activity, LoginActivity.class); in.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent

我有3个以上的屏幕,每个屏幕顶部都有注销按钮,当我单击注销按钮时,它应该进入登录页面,如果我单击登录页面上的后退按钮,它不应该进入应用程序并退出应用程序

在这里,我尝试了注销按钮的代码单击:

Intent in = new Intent(activity, LoginActivity.class);
                    in.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP
                            | Intent.FLAG_ACTIVITY_CLEAR_TASK);
                    in.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    activity.startActivity(in);
它在超过90%的安卓手机上工作,但在少数手机上不起作用,比如三星mini-tab。而且它不适用于较低版本的手机


有谁能指导我解决这个问题吗?

禁用登录屏幕上的“后退”按钮

@Override
public void onBackPressed() {
   //to nothing       }

将当前活动添加到列表
listContext
,如下所述

listContext.add(Activity.this);
尝试此方法完成所有活动

public static List<Context> listContext = new ArrayList<Context>();


    public static void finishActivities() {

        for (Context context : listContext) {
            if(context!=null)
             ((Activity) context).finish();
        }
            listContext.clear();
    }
publicstaticlistcontext=newarraylist();
公共静态无效完成活动(){
for(上下文:listContext){
if(上下文!=null)
((活动)上下文).finish();
}
listContext.clear();
}

在注销按钮活动中使用此代码:

    Intent setIntent = new Intent(this, LoginActivity.class);
    setIntent.addCategory(Intent.CATEGORY_HOME);
    setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(setIntent);
并在登录屏幕上使用此代码:

    public void onBackPressed() {
    // TODO Auto-generated method stub
    Log.d("CDA", "onBackPressed Called");
    Intent setIntent = new Intent(Intent.ACTION_MAIN);
    setIntent.addCategory(Intent.CATEGORY_HOME);
    setIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
    startActivity(setIntent);
    return;
}

实际发生了什么?Intent.FLAG\u ACTIVITY\u CLEAR\u TOP就足够了。尝试删除其余的标志。我只尝试了Intent.FLAG\u ACTIVITY\u CLEAR\u TOP,但它只在少数设备上工作,不是所有的设备我认为你应该使用startActivityForResult。在登录屏幕上,如果我按下后退按钮,它应该退出应用程序,所以我不能禁用后退按钮OK,所以你在共享首选项中创建一个标志变量,并在创建时检查它是否真的重定向到登录屏幕,在注销按钮上单击设置标记为true,登录时将其设置为false,希望这会有所帮助you@Segi我还提供了禁用后退按钮的代码,这就是为什么它不是comment@Segi现在可以删除-1了