Как передать дополнительные данные вместе с намерением, полученным из GoogleSignInClient.getSignInIntent ()? - PullRequest
1 голос
/ 25 января 2020

Мне нужно передать текстовую строку вместе с намерением входа в Google, чтобы я мог получить ее позже с помощью метода onActivityResult.

Я запускаю операцию выбора учетной записи GSI с помощью следующего код

GoogleSignInOptions googleSignInOptions = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
        .requestIdToken("xxxxxxxxxxxxxxxxxxxxx")
        .requestEmail()
        .build();
final GoogleSignInClient client = GoogleSignIn.getClient(MainActivity.activity, googleSignInOptions);
Intent signInIntent = client.getSignInIntent();

// As extra
signInIntent.putExtra("CALLSTACK_UID", newCallStack.uid);

this.startActivityForResult(signInIntent, RC_SIGN_IN);

и попытаться получить его позже через

@Override protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == RC_SIGN_IN) {
        String callstack_uid = data.getStringExtra("CALLSTACK_UID");
        //...
    }
}

data.getStringExtra("CALLSTACK_UID") всегда возвращает null, даже если он должен возвращать строку.

Мой единственный вариант здесь - создать переменную stati c в упражнении вместо передачи значения через намерение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...