Java 自动选择第一个手机号码HintRequest android
我想自动从HintRequest android中选择第一个电话号码 有什么可能的解决办法吗 是否有任何解决方案,用户不能在不选择至少一个手机号码的情况下关闭HintRequest对话框Java 自动选择第一个手机号码HintRequest android,java,android,android-pendingintent,Java,Android,Android Pendingintent,我想自动从HintRequest android中选择第一个电话号码 有什么可能的解决办法吗 是否有任何解决方案,用户不能在不选择至少一个手机号码的情况下关闭HintRequest对话框 onActivityResult仅在用户选择任何一个电话号码时才会被调用。那么,它将如何工作?你能详细说明一下吗?自动检测手机!!。requestPhoneNoHint()-此行请求您的可用电话号码和列表。。。然后根据您的选择,您将在ActivityResult val mPhoneNumber上获得电话号码。
onActivityResult仅在用户选择任何一个电话号码时才会被调用。那么,它将如何工作?你能详细说明一下吗?自动检测手机!!。requestPhoneNoHint()-此行请求您的可用电话号码和列表。。。然后根据您的选择,您将在ActivityResult val mPhoneNumber上获得电话号码。。我用的是Kotlin hereNo。我的问题是,我的应用程序应该单独选择第一个手机号码。用户无需查看列表或从列表中选择任何数字。这可能吗?当然可以,试试看,请告诉我手机号码列表。这就是全部。它不做任何其他特殊的事情。
// 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)
}
}
}