简体   繁体   English

自动选择第一个手机号码 HintRequest android

[英]Pick First mobile number automatically HintRequest android

I want to pick first phone number automatically from HintRequest android.我想从 HintRequest android 中自动选择第一个电话号码。

Is there any possible solution for it?有什么可能的解决方案吗?

is there any solution, user cannot dismiss the HintRequest Dialog without selecting at least one mobile number?是否有任何解决方案,用户无法在不选择至少一个手机号码的情况下关闭 HintRequest 对话框?

检查此屏幕截图

// Example From Kotlin

        implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0'
        implementation 'com.google.android.gms:play-services-auth-api-phone:17.3.0'
        implementation 'com.google.android.gms:play-services-base:17.1.0'
        implementation 'com.google.android.gms:play-services-identity:17.0.0'
        implementation 'com.google.android.gms:play-services-auth:17.0.0'

        // Class : AutoDetectMobileNo

            class AutoDetectMobileNo internal constructor(context: Context) {
                private var googleApiClient: GoogleApiClient? = null
                private val context: Context
                private val appCompatActivity: AppCompatActivity = context as AppCompatActivity
                fun requestPhoneNoHint() {
                    googleApiClient = GoogleApiClient.Builder(context)
                        .enableAutoManage(
                            appCompatActivity
                        ) { }
                        .addApi(Auth.CREDENTIALS_API)
                        .build()
                    val hintRequest = HintRequest.Builder()
                        .setHintPickerConfig(
                            CredentialPickerConfig.Builder()
                                .setShowCancelButton(true)
                                .build()
                        )
                        .setPhoneNumberIdentifierSupported(true)
                        .build()
                    val intent =
                        Auth.CredentialsApi.getHintPickerIntent(googleApiClient, hintRequest)
                    try {
                        appCompatActivity.startIntentSenderForResult(
                            intent.intentSender,
                            RC_HINT,
                            null,
                            0,
                            0,
                            0
                        )
                    } catch (e: Throwable) {
                        Log.e("PHONE_HINT", "Could not start hint picker Intent", e)
                    }
                }

                fun getPhoneNo(data: Intent): String {
                    val cred: Credential =
                        data.getParcelableExtra(Credential.EXTRA_KEY)!!
                    return cred.id
                }

                interface Callback

                companion object {
                    const val RC_HINT = 1000
                }

                init {
                    this.context = appCompatActivity.applicationContext
                }
            }


        // On Your Activity / Fragment

        val autoDetectMobileNo = AutoDetectMobileNo(this)
        autoDetectMobileNo!!.requestPhoneNoHint()

        override fun onActivityResult(
                requestCode: Int,
                resultCode: Int,
                data: Intent?
            ) {
                super.onActivityResult(requestCode, resultCode, data)
                if (requestCode == AutoDetectMobileNo.RC_HINT) {
                    if (resultCode == Activity.RESULT_OK) {
                        val mPhoneNumber = autoDetectMobileNo!!.getPhoneNo(data)
                    }
                }
            }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM