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 からの「無効なログイン資格情報」という応答で常に失敗します。

abc123Parse データ ブラウザに手動で入力すると、すべてが機能します。アイデア?

4

0 に答える 0