[英]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.