如果您使用ContentResolver.insert()方法将文件保存到外部公共存储区域,则需要使用MediaStore.getContentUri()获取正确的Uri,然后使用openFileDescriptor()打开文件并进行读取或写入操作。
以下是示例代码:
// 获取文件的Uri
Uri uri = MediaStore.Images.Media.getContentUri(Environment.DIRECTORY_PICTURES);
String filename = "myImage.jpg";
ContentValues values = new ContentValues();
values.put(MediaStore.Images.Media.DISPLAY_NAME, filename);
uri = getContentResolver().insert(uri, values);
// 打开文件并进行读取或写入操作
try {
ParcelFileDescriptor pfd = getContentResolver().openFileDescriptor(uri, "w");
// 其它代码...
} catch (FileNotFoundException e) {
e.printStackTrace();
}