我试着在安卓工作室的安卓项目中使用registerForActivityResult函数。但是当我写"registerForActivityResult“来使用这个函数时,所显示的只是创建函数。我认为registerForActivityResult是安卓系统中的一个重新设计的功能,我不知道该怎么做才能让它正常工作。如果你们中的任何一个善良的灵魂可以帮助我,我会非常感激它,我可以随时收集更多的信息,如果需要!
更新I当前使用这视频中提供的指南。我使用的是android.activity.1.3.1,不起作用的代码是:private val signInLauncher = registerForActivityResult ( FirebaseAuthUIActivityResultContract() ) { res -> this.signInResult(res) }
发布于 2022-10-20 12:14:35
尝试手动转换到ComponentActivity。
最后,我为这个函数创建了一个扩展:
fun <I, O> Activity.registerForActivityResult(
contract: ActivityResultContract<I, O>,
callback: ActivityResultCallback<O>
) = (this as ComponentActivity).registerForActivityResult(contract, callback)似乎AndroidStudio有一个开放的bug:Bug:尽管有所需的依赖项,但无法在大型项目上找到registerForActivityResult
例如,在您的Activity中需要请求多个权限时,您可以这样做:
registerForActivityResult(
ActivityResultContracts.RequestMultiplePermissions()
) { result ->
// Do something with the result
}发布于 2022-10-20 12:04:49
如果你在使用作文,你试过rememberLauncherForActivityResult吗?
val launcher = rememberLauncherForActivityResult(ActivityResultContracts.WhatEverYoutWant) {...}https://stackoverflow.com/questions/74139314
复制相似问题