- 确认你已经在AndroidManifest.xml文件中请求了写入和读取外部存储器的权限:
- 如果你使用
MediaStore
类来保存媒体文件,确保你已经指定了正确的媒体类型:
val values = ContentValues()
values.put(MediaStore.Images.Media.DISPLAY_NAME, "myImage.png")
values.put(MediaStore.Images.Media.MIME_TYPE, "image/png")
values.put(MediaStore.Images.Media.RELATIVE_PATH, Environment.DIRECTORY_PICTURES + File.separator + "myApp")
val uri: Uri? = contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values)
val outputStream = contentResolver.openOutputStream(uri!!)
// 将数据写入到输出流中
outputStream?.close()
- 如果你使用
FileOutputStream
保存媒体文件,确保你已经指定了正确的文件路径和权限:
val path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).toString() + File.separator + "myApp" + File.separator
val file = File(path + "myImage.png")
if (!file.parentFile.exists()) {
file.parentFile.mkdirs()
}
val outputStream = FileOutputStream(file)
// 将数据写入到输出流中
outputStream.close()