1

我想要一个独特的用户,但我不需要它成为我的应用程序的正式事物。因此,在启动时,我会检查以前存储的用户名的共享首选项。我像这样处理用户创建或登录:

        String parseUsername = _appPrefs.getParseUsername();
        _progress.setVisibility(View.VISIBLE);
        if (parseUsername == null) {
            Log.v(TAG, "Creating a user.");
            ParseUser.enableAutomaticUser();
            _user = ParseUser.getCurrentUser();
            _user.setPassword("abc123");
            _user.saveInBackground(new SaveCallback() {
                @Override
                public void done(ParseException e) {
                    if (e == null) {
                        Log.w(TAG, String.format("User '%s' created.", _user.getUsername()));
                        _progress.setVisibility(View.GONE);
                        _appPrefs.saveParseUsername(_user.getUsername());
                        createStory();
                        return;
                    }
                    Log.e(TAG, "Error creating user: ", e);
                }
            });
        } else {
            Log.v(TAG, String.format("Logging the user '%s' in with password '%s'.", parseUsername, "abc123"));
            ParseUser.logInInBackground(parseUsername, "abc123", new LogInCallback() {
                @Override
                public void done(ParseUser user, ParseException e) {
                    Log.v(TAG, "User logged in.");
                    _progress.setVisibility(View.GONE);
                    if (e == null) {
                        createStory();
                        return;
                    }
                    Log.e(TAG, "Error logging in: ", e);
                }
            });
        }

我可以在日志中看到成功创建的用户。我可以杀死该应用程序并重新启动,但它总是因 Parse 的“无效登录凭据”响应而失败。

如果我在 Parse 数据浏览器中手动输入abc123,那么一切正常。想法?

4

0 回答 0