0

I am creating an OTP login screen where I need to retrive device Phone number , I used HintRequest ealier and it is now deprecated. now I used GetPhoneNumberHintIntentRequest and getting an error :

com.google.android.gms.common.api.ApiException: 16: No phone number is found on this device.

please guide

my code :

public void getHintPhoneNumber() {
    Log.d("getHintPhoneNumber","getHintPhoneNumber");
    GetPhoneNumberHintIntentRequest request = GetPhoneNumberHintIntentRequest.builder().build();

    Identity.getSignInClient(getActivity())
            .getPhoneNumberHintIntent(request)
            .addOnSuccessListener( result -> {
                try {
                    phoneNumberHintIntentResultLauncher.launch(result.getIntentSender());
                } catch(Exception e) {
                    e.printStackTrace();
                }
            })
            .addOnFailureListener(e -> {
                e.printStackTrace();
            });

}



ActivityResultLauncher phoneNumberHintIntentResultLauncher =
        registerForActivityResult(
                new ActivityResultContracts.StartActivityForResult(),

                new ActivityResultCallback<ActivityResult>() {
                    @Override
                    public void onActivityResult(ActivityResult result) {
                        try {
                            phoneNumber = Identity.getSignInClient(getActivity()).getPhoneNumberFromIntent(result.getData());
                            if (!phoneNumber.isEmpty()) {
                                phonenumber_error.setVisibility(View.GONE);
                                et_otp_InputMobile.setText(phoneNumber);
                            } else {
                                setErrorField("Please enter mobile Number", phonenumber_error);
                            }
                        } catch(Exception e) {
                        }
                    }
                });
Liya
  • 568
  • 7
  • 28

0 Answers0