创建应用程序注销事件

时间:2017-02-07 04:33:20

标签: android logout android-navigation-drawer

我正在使用导航抽屉显示所有项目,例如Setting, Profile, Contact Us, About Us, Logout,当点击任何这些项目时,它应显示在片段或其他活动中。

我尝试创建Logout Fragment但是使用Activity&意图。

如何点击退出时,它应该完全从应用程序注销,就像任何银行应用程序一样。

3 个答案:

答案 0 :(得分:1)

您不需要创建用于注销的片段,点击注销即可在代码下方运行

Intent intent = new Intent(Intent.ACTION_MAIN);
intent.addCategory(Intent.CATEGORY_HOME);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(intent);

答案 1 :(得分:0)

我创建了如下对话框:

    public void logoutDialog() {
        /**
         * Create Alert DialogBuilder */
        final AlertDialog.Builder logoutAlert = new AlertDialog.Builder(this);
        final RowLogoutDialogsBinding logoutDialogsBinding = DataBindingUtil.inflate(LayoutInflater.from(mContext), R.layout.row_logout_dialogs, null, false);
        View logoutView = logoutDialogsBinding.getRoot();
        logoutAlert.setView(logoutView);

        /*
         * Create Alert Dialogs */
        final AlertDialog mLogoutDialog = logoutAlert.create();
        mLogoutDialog.setTitle(getString(R.string.logout_dialog_title));
        mLogoutDialog.show();

        /*
         * Layout for dialog */
        setFontFace(logoutDialogsBinding.logoutMessage);
        logoutDialogsBinding.logoutNo.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mLogoutDialog.dismiss();
            }
        });

        logoutDialogsBinding.logoutYes.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mLogoutDialog.dismiss();
                AccountAuthenticator.removeAccount(mContext);
                finish();

                // DO OTHER PROCESS OF LOGOUT like clear PREFERENCE, DB

                Toast.makeText(mContext, R.string.string_loggedout_success, Toast.LENGTH_SHORT).show();
            }
        });
    }

点击该菜单项,我刚打开该对话框。

case R.id.nav_logout:
    logoutDialogs();
    break;

希望它会对你有所帮助。

答案 2 :(得分:0)

希望这个答案将来会有所帮助,

Intent intent = new Intent(MainActivity.this,Login.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); //CLEARS INSTANCES OF ALL YOUR ACTIVITIES
        startActivity(intent);
        finish(); //CLEARS BACKSTACK ACTIVITIES