Android-Phone Selector(HintRequest)并未在所有设备中提供电话号码建议

我在Hint Request Number suggestion dialogue中遇到问题,该问题出现在屏幕上,并随着奇怪的动画迅速消失。

此对话在某些手机上可以正常使用,但是下面的代码段不适用于所有设备。

mGoogleApiClient = new GoogleApiClient.Builder(getactivity())
                .addConnectionCallbacks(this)
                .enableAutoManage(getactivity(),this)
                .addApi(Auth.CREDENTIALS_API)
                .build();
        mGoogleApiClient.connect();
        HintRequest hintRequest = new HintRequest.Builder()
                .setHintPickerConfig(new CredentialPickerConfig.Builder()
                        .setShowCancelButton(true)
                        .build())
                .setPhoneNumberIdentifierSupported(true)
                .build();

        PendingIntent intent =
                Auth.CredentialsApi.getHintPickerIntent(mGoogleApiClient,hintRequest);
        try {
            startIntentSenderForResult(intent.getIntentSender(),RESOLVE_HINT,null,new Bundle());
        } catch (IntentSender.SendIntentException e) {
            Log.e("Login","Could not start hint picker Intent",e);
        }
qingyulei 回答:Android-Phone Selector(HintRequest)并未在所有设备中提供电话号码建议

使用以下代码请求电话号码

    implementation 'com.google.android.gms:play-services-base:17.1.0'
    implementation 'com.google.android.gms:play-services-auth-api-phone:17.3.0'
    private static final int CREDENTIAL_PICKER_REQUEST = 1;
    private void requestHint() throws IntentSender.SendIntentException {
        HintRequest hintRequest = new HintRequest.Builder()
                .setPhoneNumberIdentifierSupported(true)
                .build();
        PendingIntent intent = Credentials.getClient(this).getHintPickerIntent(hintRequest);
        startIntentSenderForResult(intent.getIntentSender(),CREDENTIAL_PICKER_REQUEST,null,0);

    }
@Override
    public void onActivityResult(int requestCode,int resultCode,Intent data) {
        super.onActivityResult(requestCode,resultCode,data);
        if (requestCode == CREDENTIAL_PICKER_REQUEST) {// Obtain the phone number from the result
            if (resultCode == RESULT_OK) {
                Credential credential = data.getParcelableExtra(Credential.EXTRA_KEY);
                //credential.getId();  <-- will need to process phone number string
                Toast.makeText(this,"credentials\n" + Objects.requireNonNull(credential).getId(),Toast.LENGTH_SHORT).show();
            }
        } 

,

GoogleApiClient服务使用您的Google帐户查找电话号码。

如此:

1。在手机中添加Google帐户并登录Google Play应用程序

2。确保您的Google帐户已通过电话号码验证

本文链接:https://www.f2er.com/3109985.html

大家都在问