Android studio 请求权限代码错误请hlp

Android studio request permissions code is wrong pls hlp

我在 android 工作室使用 Kotlin 语言。我正在请求访问图库的权限,当我使用“if-else”结构查询权限并且在 requestPermissions 语句上方有一个破折号时,我正在写这篇文章。我们如何解决这个问题。

activity?.let {
        if (ContextCompat.checkSelfPermission(requireActivity().applicationContext,Manifest.permission.READ_EXTERNAL_STORAGE)!= PackageManager.PERMISSION_GRANTED) {
            requestPermissions(arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE), 1)

请求权限的新方法是使用启动器。您必须在 setContent() 之前创建启动器。

在 onCreate 之前的最顶部,创建一个启动器 属性:

val storagePermissionLauncher = registerForActivityResult(ActivityResultContracts.startActivityForResult())
{ result->
  if(result.RESULT_CODE == RESULT_OK) {
    //permission granted
    doSomething()
  }
}

当你必须做一些需要许可的事情时。你必须检查你是否有权限:

if(ContextCompat.checkSelfPermission(context, android.Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED){
  //you have the permission
  doSomething()
}else{
//You don't have the permission, ask for it.
  storagePermissionLauncher.launch(android.Manifest.permission.READ_EXTERNAL_STORAGE) 
}