【发布时间】:2020-07-10 11:21:11
【问题描述】:
我正在按照教程添加推荐的身份验证方法,但出现此错误:
智能转换为“CredentialsClient!”是不可能的,因为 'mCredentialsClient' 是一个可变属性,此时可能已更改
按照教程Smart Lock for Passwords on Android
我也在尝试使用 Kotlin(也是 Android 推荐的开发语言)
这是我的代码:
import androidx.annotation.NonNull
import androidx.appcompat.app.AppCompatActivity
import com.google.android.gms.auth.api.credentials.*
import com.google.android.gms.tasks.OnCompleteListener
import com.google.android.gms.tasks.Task
class new_MainActivity : AppCompatActivity(){
var mCredentialsClient: CredentialsClient? = null
var mCredentialRequest: CredentialRequest? = null
override fun onCreate(savedInstanceState: Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main_login)
mCredentialsClient = Credentials.getClient(this)
mCredentialRequest = CredentialRequest.Builder()
.setPasswordLoginSupported(true)
.setAccountTypes(IdentityProviders.GOOGLE)
.build()
mCredentialsClient.request(mCredentialRequest).addOnCompleteListener(
object : OnCompleteListener<CredentialRequestResponse?>() {
fun onComplete(@NonNull task: Task<CredentialRequestResponse?>) {
if (task.isSuccessful()) {
// See "Handle successful credential requests"
onCredentialRetrieved(task.getResult().getCredential())
return
}
// See "Handle unsuccessful and incomplete credential requests"
// ...
}
})
}
private fun onCredentialRetrieved(credential: Any) {
}
}
【问题讨论】:
标签: android kotlin google-signin