java如何使用MediaStore创建特定的库文件夹
我试过这个密码
public static void openGallery(Context context) {
String bucketId = "";
final String[] projection = new String[] {"DISTINCT " + MediaStore.Images.Media.BUCKET_DISPLAY_NAME + ", " + MediaStore.Images.Media.BUCKET_ID};
final Cursor cur = context.getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, null, null);
while (cur != null && cur.moveToNext()) {
final String bucketName = cur.getString((cur.getColumnIndex(MediaStore.Images.ImageColumns.BUCKET_DISPLAY_NAME)));
if (bucketName.equals("Your_dir_name")) {
bucketId = cur.getString((cur.getColumnIndex(MediaStore.Images.ImageColumns.BUCKET_ID)));
break;
}
}
Uri mediaUri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
if (bucketId.length() > 0) {
mediaUri = mediaUri.buildUpon()
.authority("media")
.appendQueryParameter("bucketId", bucketId)
.build();
}
if(cur != null){
cur.close();
}
Intent intent = new Intent(Intent.ACTION_VIEW, mediaUri);
context.startActivity(intent);
}
但我未能打开特定于gallery的文件夹,但gallery主屏幕显示“file not supported”(文件不受支持)土司。 我有办法解决这个问题吗
# 1 楼答案
在处理存储在
MediaStore
中的文件时,无法设置特定文件夹的初始路径但是,在使用
DocumentFile
时,您可以使用DocumentsContract.EXTRA_INITIAL_URI
,因此当用户想要从存储访问框架(SAF)中选择文件时,您可以设置初始路径:DocumentFileCompat.createDocumentUri()
帮助您构建初始URI。你可以从SimpleStorage获得DocumentFileCompat