Форум для тех, кто программирует под Android
-
Anonymous
GetCredentialAsync handle grink
Сообщение
Anonymous »
Я делаю игру Android с Java, используя CredentialManager, чтобы побудить пользователя выбрать учетную запись Google.
Код: Выделить всё
public void signIn_credentialManager() {
String nonce = randomNonce();
GetCredentialRequest request;
googleIdOption = new GetGoogleIdOption.Builder()
.setFilterByAuthorizedAccounts(false)
.setServerClientId("...")
.setAutoSelectEnabled(true)
.setNonce(nonce)
.build();
request = new GetCredentialRequest.Builder()
.addCredentialOption(googleIdOption)
.build();
CancellationSignal cancellationSignal = new CancellationSignal();
cancellationSignal.setOnCancelListener(new CancellationSignal.OnCancelListener() {
@Override
public void onCancel() {
// HERE NEVER TRIGGERED!
log(LOG_TAG, "credentialManager.getCredentialAsync onCancel");
}
});
cancellationSignal.throwIfCanceled();
log(LOG_TAG, "credentialManager.getCredentialAsync");
credentialManager.getCredentialAsync(
context,
request,
cancellationSignal,
executor,
new CredentialManagerCallback() {
@Override
public void onResult(GetCredentialResponse result) {
log(LOG_TAG, "CredentialManagerCallback onResult");
try {
...
}
catch (Exception e) {
log(LOG_TAG, "CredentialManagerCallback Exception!");
e.printStackTrace();
}
}
@Override
public void onError(@NonNull GetCredentialException e) {
log(LOG_TAG, "CredentialManagerCallback Error!");
e.printStackTrace();
}
}
);
}
Может быть, CancellationsIgnal.oncancel запускается только It I It Я явно вызову. этого не происходит.
Подробнее здесь:
https://stackoverflow.com/questions/795 ... pt-dismiss
1741987216
Anonymous
Я делаю игру Android с Java, используя CredentialManager, чтобы побудить пользователя выбрать учетную запись Google.[code]public void signIn_credentialManager() {
String nonce = randomNonce();
GetCredentialRequest request;
googleIdOption = new GetGoogleIdOption.Builder()
.setFilterByAuthorizedAccounts(false)
.setServerClientId("...")
.setAutoSelectEnabled(true)
.setNonce(nonce)
.build();
request = new GetCredentialRequest.Builder()
.addCredentialOption(googleIdOption)
.build();
CancellationSignal cancellationSignal = new CancellationSignal();
cancellationSignal.setOnCancelListener(new CancellationSignal.OnCancelListener() {
@Override
public void onCancel() {
// HERE NEVER TRIGGERED!
log(LOG_TAG, "credentialManager.getCredentialAsync onCancel");
}
});
cancellationSignal.throwIfCanceled();
log(LOG_TAG, "credentialManager.getCredentialAsync");
credentialManager.getCredentialAsync(
context,
request,
cancellationSignal,
executor,
new CredentialManagerCallback() {
@Override
public void onResult(GetCredentialResponse result) {
log(LOG_TAG, "CredentialManagerCallback onResult");
try {
...
}
catch (Exception e) {
log(LOG_TAG, "CredentialManagerCallback Exception!");
e.printStackTrace();
}
}
@Override
public void onError(@NonNull GetCredentialException e) {
log(LOG_TAG, "CredentialManagerCallback Error!");
e.printStackTrace();
}
}
);
}
[/code]
Может быть, CancellationsIgnal.oncancel запускается только It I It Я явно вызову. этого не происходит.
Подробнее здесь: [url]https://stackoverflow.com/questions/79507779/getcredentialasync-handle-prompt-dismiss[/url]