【发布时间】:2021-06-22 07:24:32
【问题描述】:
我想在 DCIM 目录中创建一个隐藏文件夹,即 .MyFolder [(dot)MyFolder]。这是我的代码:-
final String relativeLocation = Environment.DIRECTORY_DCIM+File.separator+".MyFolder/images";
ContentValues contentValues = new ContentValues();
contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME,positionOfPager+".jpeg");
contentValues.put(MediaStore.MediaColumns.MIME_TYPE,"image/*");
contentValues.put(MediaStore.MediaColumns.RELATIVE_PATH,relativeLocation);
imageUri = context.getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,contentValues);
fos = (FileOutputStream) context.getContentResolver().openOutputStream(Objects.requireNonNull(imageUri));
inImage.compress(Bitmap.CompressFormat.JPEG,100,fos);
这里的问题是一个文件夹是用连字符“_.MyFolder”创建的,即[(Hypen)(dot)MyFolder],因此该文件夹没有被隐藏。我的应用程序正在创建大量图像,我不想在图库中显示这些图像来打扰用户。请帮帮我 注意:- 我正在实现范围存储 android 11 的代码
【问题讨论】:
-
“我的应用程序正在创建很多图像,我不想在图库中显示这些图像来打扰用户”——然后将它们放入
getFilesDir()或getExternalFilesDir()(Context上的方法) . -
My app is creating lots of images which i dont want to show up in gallery那么不要一开始就使用 MediaStore。但是,即使您可以使用 mkdir() 创建这样的“.hidden”文件夹并以旧方式将文件放入其中,MediaStore 也会很快扫描其中的这些文件。 -
谢谢。现在我将图像存储在应用程序特定的文件夹中:)
-
我也面临同样的问题。每当我创建时,它都会使用连字符“_.test”创建。
-
能否在
relativeLocation行上放置一个调试点,并检查执行该行后设置的相对位置值是多少?
标签: java android file mediastore hidden-files