gpt4 book ai didi

java - 如何在 DCIM 目录(范围存储)Android Q 中创建隐藏文件夹,即 .MyFolder [(dot)MyFolder]

转载 作者:行者123 更新时间:2023-12-04 23:44:59 26 4
gpt4 key购买 nike

我想在 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 的代码

最佳答案

File file = new File( 
Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DCIM), ".MyFolder/images");

if ( ! file.existst() )
if ( !file.mkdirs() )
return;
在 10 和 11 上,您都可以使用此代码。
您还可以使用经典文件系统路径在此文件夹中创建文件。
不需要 MediaStore。更糟糕的是:一旦您使用 MediaStore,MediaStore 就会知道您的文件,因此会知道使用 MediaStore 列出文件的 Gallery 应用程序。
对于 Android Q 设备,请添加 android:requestLegacyExternalStorage="true"到 list 文件中的应用程序标记。
但是....这个隐藏文件夹的东西不会阻止媒体扫描仪在一段时间后扫描您的文件。还有一个 .nomedia文件现在通常不会做。

关于java - 如何在 DCIM 目录(范围存储)Android Q 中创建隐藏文件夹,即 .MyFolder [(dot)MyFolder],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66800444/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com