我想让谷歌登录我的应用程序,但我收到此错误。
startActivityForResult() deprecated in java
这是我的代码:
val signInIntent = googleSignInClient.signInIntent
startActivityForResult(signInIntent,RC_SIGN_IN)
我知道,我必须使用registerForActivityResult();
但我不知道如何使用它。
云端硬盘上链接的代码很接近,但不太正确。您混淆了 resultCode 和 responseCode。你应该检查一下result.resultCode == Activity.RESULT_OK
not result.resultCode == 100
在你的回调中registerForActivityResult
.
与旧的startActivityForResult(intent,code)
您可以使用整数代码(例如 100)启动活动,然后检查该代码onActivityResult
以确保您正在处理正确的响应。通过回调,不再需要或使用整数请求/响应代码。
private val launcher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()){ result ->
if (result.resultCode == Activity.RESULT_OK) {
// handle the response in result.data
}
}
然后你按照其他人的指示使用它
val signInIntent = googleSignInClient.signInIntent
launcher.launch(signInIntent)
答案中也有一些这样的例子here https://stackoverflow.com/questions/62671106/onactivityresult-method-is-deprecated-what-is-the-alternative
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)