要在Android 13及以上版本上获取存储权限,你可以按照以下步骤进行操作:
ActivityResultLauncher
来处理权限请求和结果。private val requestPermissionLauncher = registerForActivityResult(
ActivityResultContracts.RequestPermission()
) { isGranted: Boolean ->
if (isGranted) {
// 权限已授予,可以进行存储操作
// 在这里执行你的存储操作
} else {
// 权限被拒绝,可以向用户显示一个提示或者处理其他逻辑
}
}
// 请求存储权限
fun requestStoragePermission() {
// 判断是否已经有了存储权限
if (ContextCompat.checkSelfPermission(
this,
Manifest.permission.WRITE_EXTERNAL_STORAGE
) == PackageManager.PERMISSION_GRANTED
) {
// 权限已授予,可以进行存储操作
// 在这里执行你的存储操作
} else {
// 向用户请求存储权限
requestPermissionLauncher.launch(Manifest.permission.WRITE_EXTERNAL_STORAGE)
}
}
onCreate
方法中调用requestStoragePermission
方法来请求存储权限。override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// 请求存储权限
requestStoragePermission()
}
以上是获取存储权限的基本解决方法,你可以根据自己的需求在获取权限后进行存储操作。