在android中使用parse的有效会话令牌中

在android中使用parse的有效会话令牌中,android,parse-platform,Android,Parse Platform,我正在使用parse创建用户注册应用程序。当我填写编辑字段并按下注册按钮时,一条toast消息显示无效的令牌会话。我已填写了所有字段。如何解决此问题。下面是我的代码 package com.example.home.communicate import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Vie

我正在使用parse创建用户注册应用程序。当我填写编辑字段并按下注册按钮时,一条toast消息显示无效的令牌会话。我已填写了所有字段。如何解决此问题。下面是我的代码

package com.example.home.communicate

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.parse.ParseException;
import com.parse.ParseUser;
import com.parse.SignUpCallback;

public class SignupActivity extends AppCompatActivity {
    EditText editusername, editpassword, editemail, editrepassword;
    Button signup;

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

    editusername = (EditText) findViewById(R.id.usernamesignup);
    editemail = (EditText) findViewById(R.id.email);
    editpassword = (EditText) findViewById(R.id.passwordinsignup);
    editrepassword = (EditText) findViewById(R.id.re_enterpassword);
    signup = (Button) findViewById(R.id.signup);

    signup.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            userSignUp();
        }
    });
}

private void userSignUp() {
    String username = editusername.getText().toString().trim();
    String email = editemail.getText().toString().trim();
    String password = editpassword.getText().toString().trim();
    String repassword = editrepassword.getText().toString().trim();

    boolean validationError = false;
    StringBuilder validationErrorMessage = new StringBuilder(getString(R.string.error_intro));

    if (username.length() == 0) {
        validationError = true;
        validationErrorMessage.append(getString(R.string.error_blank_username));
    }

    if (password.length()== 0){
        if(validationError){
            validationErrorMessage.append(getString(R.string.error_join));
        }
        validationError = true;
        validationErrorMessage.append(getString(R.string.error_blank_password));
    }
    if(!password.equals(repassword)){
        if(validationError){
            validationErrorMessage.append(getString(R.string.error_join));
        }
        validationError = true;
        validationErrorMessage.append(getString(R.string.error_mismatched_passwords));

    }
    if (email.length()== 0){
        if(validationError){
            validationErrorMessage.append(getString(R.string.error_join));
        }
        validationError = true;
        validationErrorMessage.append(getString(R.string.error_blank_email));
    }

    if(validationError){
        Toast.makeText(SignupActivity.this, validationErrorMessage.toString(),Toast.LENGTH_SHORT).show();
    }

    ParseUser user = new ParseUser();
    user.setUsername(username);
    user.setEmail(email);
    user.setPassword(password);
    user.signUpInBackground(new SignUpCallback() {
        @Override
        public void done(ParseException e) {
            if (e==null){
                Intent intent = new Intent(SignupActivity.this,MainActivity.class);
                intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
                intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                startActivity(intent);
            }
            else {
                Toast.makeText(SignupActivity.this,e.getMessage(),Toast.LENGTH_LONG).show();
            }
        }
    });

}
}

当当前用户未完全注销时,可能会发生这种情况。在注册新用户之前,请确保对当前用户进行检查并注销

ParseUser currentUser = ParseUser.getCurrentUser();
if (currentUser != null) {
   ParseUser.logOut();
}