Android获取电话号码提示

发布于 2025-02-10 03:22:23 字数 1190 浏览 2 评论 0 原文

我一直在引用我的教程链接以获取电话号码提示,但是使用的代码已被弃用。

val hintRequest = HintRequest.Builder()
            .setPhoneNumberIdentifierSupported(true)
            .build()

这是我现在正在关注的那个。

ActivityResultLauncher phoneNumberHintIntentResultLauncher =
  registerForActivityResult(
      new ActivityResultContracts.StartActivityForResult(),
      new ActivityResultCallback() {
          @Override
          public void onActivityResult(ActivityResult result) {
              try {
                  String phoneNumber = Identity.getSignInClient(activity).getPhoneNumberFromIntent(result.getData());
              } catch {
                  Log.e(TAG, “Phone Number Hint failed”, e);
              }
          }
  });

对于上述代码,我在Android Studio中获得错误,

Class 'Anonymous class derived from ActivityResultCallback' must either be declared abstract or implement abstract method 'onActivityResult(O)' in 'ActivityResultCallback'

什么是实现电话号码提示的正确方法?

I have been referring so my tutorial links to get the phone number hint but the code which is used has been deprecated.

val hintRequest = HintRequest.Builder()
            .setPhoneNumberIdentifierSupported(true)
            .build()

This is the one which I am following right now.

https://developers.google.com/identity/phone-number-hint/android#retrieve-phone-number

ActivityResultLauncher phoneNumberHintIntentResultLauncher =
  registerForActivityResult(
      new ActivityResultContracts.StartActivityForResult(),
      new ActivityResultCallback() {
          @Override
          public void onActivityResult(ActivityResult result) {
              try {
                  String phoneNumber = Identity.getSignInClient(activity).getPhoneNumberFromIntent(result.getData());
              } catch {
                  Log.e(TAG, “Phone Number Hint failed”, e);
              }
          }
  });

For the above code I get the error in android studio

Class 'Anonymous class derived from ActivityResultCallback' must either be declared abstract or implement abstract method 'onActivityResult(O)' in 'ActivityResultCallback'

What is the correct way to implement Phone Number Hint ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

秋意浓 2025-02-17 03:22:23

如果使用Java,可以使用此代码,
首先制作一个类似的ActivityResultLauncher:

    ActivityResultLauncher<IntentSenderRequest> phoneNumberHintIntentResultLauncher =
        registerForActivityResult(
                new ActivityResultContracts.StartIntentSenderForResult(), new ActivityResultCallback<ActivityResult>() {
                    @Override
                    public void onActivityResult(ActivityResult result) {
                            try {
                                String phoneNumber = Identity.getSignInClient(getApplicationContext()).getPhoneNumberFromIntent(result.getData());
                                showPhoneNum.setText(phoneNumber);
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                    }
                });

然后制作一个GetPhoneNumberHintEntEntentRequest对象并遵循此代码:

    GetPhoneNumberHintIntentRequest request = GetPhoneNumberHintIntentRequest.builder().build();

        Identity.getSignInClient(MainActivity.this)
                .getPhoneNumberHintIntent(request)
                .addOnSuccessListener(result -> {
                    try {
                        IntentSender intentSender = result.getIntentSender();
                        phoneNumberHintIntentResultLauncher.launch(new IntentSenderRequest.Builder(intentSender).build());
                    } catch (Exception e) {
                        Log.i("Error launching", "error occurred in launching Activity result");
                    }
                })
                .addOnFailureListener(e -> Log.i("Failure occurred", "Failure getting phone number"));

希望它能有所帮助。

You can use this code if you are using java,
first make an ActivityResultLauncher like this:

    ActivityResultLauncher<IntentSenderRequest> phoneNumberHintIntentResultLauncher =
        registerForActivityResult(
                new ActivityResultContracts.StartIntentSenderForResult(), new ActivityResultCallback<ActivityResult>() {
                    @Override
                    public void onActivityResult(ActivityResult result) {
                            try {
                                String phoneNumber = Identity.getSignInClient(getApplicationContext()).getPhoneNumberFromIntent(result.getData());
                                showPhoneNum.setText(phoneNumber);
                            } catch (Exception e) {
                                e.printStackTrace();
                            }
                    }
                });

then make a GetPhoneNumberHintIntentRequest object and follow this code:

    GetPhoneNumberHintIntentRequest request = GetPhoneNumberHintIntentRequest.builder().build();

        Identity.getSignInClient(MainActivity.this)
                .getPhoneNumberHintIntent(request)
                .addOnSuccessListener(result -> {
                    try {
                        IntentSender intentSender = result.getIntentSender();
                        phoneNumberHintIntentResultLauncher.launch(new IntentSenderRequest.Builder(intentSender).build());
                    } catch (Exception e) {
                        Log.i("Error launching", "error occurred in launching Activity result");
                    }
                })
                .addOnFailureListener(e -> Log.i("Failure occurred", "Failure getting phone number"));

Hope it helped.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文