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)
}
我在 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)
}