Android Parse"无效会话令牌"错误

use*_*506 4 android parse-platform

我是Android的新手,我被困在一个似乎是一个简单的问题修复,但我只是不知道我做错了什么!我需要做的只是注册一个用户,由于某种原因,e永远不会等于null,因此它会直接进入else部分,这会给我无效的会话令牌消息.这是注册部分的代码,我看了几千次!:

protected EditText mUsername;
protected EditText mPassword;
protected EditText mEmail;
protected Button mSignUpButton;



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

    mUsername = (EditText)findViewById(R.id.usernameField);
    mPassword = (EditText)findViewById(R.id.passwordField);
    mEmail = (EditText)findViewById(R.id.emailField);
    mSignUpButton = (Button)findViewById(R.id.signupButton);

    mSignUpButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            String username = mUsername.getText().toString();
            String password = mPassword.getText().toString();
            String email = mEmail.getText().toString();

            //trims the spaces
            username = username.trim();
            password = password.trim();
            email = email.trim();

            //if one of the text edits is empty send them a message with a                                    title with an ok button.
            if(username.isEmpty() || password.isEmpty() || email.isEmpty()){
                AlertDialog.Builder builder = new AlertDialog.Builder(SignUpManagerActivity.this);
                builder.setMessage(R.string.signup_error_message)
                        .setTitle(R.string.signup_error_title)
                        .setPositiveButton(android.R.string.ok, null);

                AlertDialog dialog = builder.create();
                dialog.show();
            }
            else {
                setProgressBarIndeterminateVisibility(true);//the progress circle is active.

                //creating a new parse user.
                ParseUser pUser = new ParseUser();
                pUser.setUsername(username);
                pUser.setPassword(password);
                pUser.setEmail(email);

                pUser.signUpInBackground(new SignUpCallback() {
                    @Override
                    public void done(ParseException e) {
                        setProgressBarIndeterminateVisibility(false);//the progress circle is not active.
                        if (e == null) {
                            Intent intent = new Intent(SignUpManagerActivity.this, LoginManagerActivity.class);
                            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                            intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
                            startActivity(intent);
                        } else {
                            AlertDialog.Builder builder = new AlertDialog.Builder(SignUpManagerActivity.this);
                            builder.setMessage(e.getMessage())
                                    .setTitle(R.string.signup_error_title)
                                    .setPositiveButton(android.R.string.ok, null);

                            AlertDialog dialog = builder.create();
                            dialog.show();
                        }
                    }
                });

            }
        }
    });



}
Run Code Online (Sandbox Code Playgroud)

请帮助,提前谢谢!

小智 8

第一篇文章,但我有同样的错误.如果我错了,请纠正我,但我相信我的问题是我可以创建一次用户然后获得无效的会话令牌.我认为这是因为即使您可以关闭并重新运行应用程序,Parse网站上的"会话"仍会登录.

通过在我尝试创建新的解析用户之前添加以下代码,我修复了我的问题.

ParseUser currentUser = ParseUser.getCurrentUser();
currentUser.logOut();
Run Code Online (Sandbox Code Playgroud)

希望有所帮助.干杯!