注册活动结果似乎不会导入 Kotlin



我正试图在android studio中制作的android项目中使用函数registerForActivityResult。但当我写";registerForActivityResult";要使用函数,所显示的只是创建函数。我以为registerForActivityResult是安卓系统中的一个重制函数,但我不知道该怎么做才能让它工作。如果你们中任何一个善良的灵魂能帮助我,我将不胜感激,如果需要,我可以随时收集更多信息!

更新我目前正在使用此视频中提供的指南。我使用的是android.activity1.3.1,不起作用的代码是:private val signInLauncher = registerForActivityResult ( FirebaseAuthUIActivityResultContract() ) { res -> this.signInResult(res) }

尝试手动转换为ComponentActivity

我最终为这个功能创建了一个扩展:

fun <I, O> Activity.registerForActivityResult(
contract: ActivityResultContract<I, O>,
callback: ActivityResultCallback<O>
) = (this as ComponentActivity).registerForActivityResult(contract, callback)

AndroidStudio似乎有一个开放的错误:错误:尽管有所需的依赖项,但无法在大型项目上找到registerForActivityResult

例如,在您的Activity中,当您需要请求多个权限时,您可以执行以下操作:

registerForActivityResult(
ActivityResultContracts.RequestMultiplePermissions()
) { result ->
// Do something with the result 
}

如果使用compose,您是否尝试过rememberLauncherForActivityResult

val launcher = rememberLauncherForActivityResult(ActivityResultContracts.WhatEverYoutWant) {...}

相关内容

  • 没有找到相关文章

最新更新