Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android 10(Android Q)中隐藏作用域目录的子文件夹?使用媒体商店?_Android_Performance - Fatal编程技术网

如何在Android 10(Android Q)中隐藏作用域目录的子文件夹?使用媒体商店?

如何在Android 10(Android Q)中隐藏作用域目录的子文件夹?使用媒体商店?,android,performance,Android,Performance,最近由于android 10中应用程序行为的改变,我正在使用media store将位图保存到存储中。 但我有一些图片不希望用户在图库中看到,所以我想使用(点) 但当我的应用程序存储图像时,它会将(点)替换为(斜杠). 例如 /storage/emulated/0/Pictures/.myFolder/\u 0.png 替换为 /storage/emulated/0/Pictures/\uu.myFolder/\u 0.png 示例代码 private void saveImage(Bitmap

最近由于android 10中应用程序行为的改变,我正在使用media store将位图保存到存储中。 但我有一些图片不希望用户在图库中看到,所以我想使用(点)


但当我的应用程序存储图像时,它会将(点)替换为(斜杠).

例如
/storage/emulated/0/Pictures/.myFolder/\u 0.png

替换为
/storage/emulated/0/Pictures/\uu.myFolder/\u 0.png

示例代码

private void saveImage(Bitmap bitmap, @NonNull String name) throws IOException {
    OutputStream fos;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
        ContentResolver resolver = getContentResolver();
        ContentValues contentValues = new ContentValues();
        contentValues.put(MediaStore.MediaColumns.DISPLAY_NAME, name + ".jpg");
        contentValues.put(MediaStore.MediaColumns.MIME_TYPE, "image/jpg");
        contentValues.put(MediaStore.MediaColumns.RELATIVE_PATH, Environment.DIRECTORY_PICTURES+"/.myFolder");
        Uri imageUri = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues);
        fos = resolver.openOutputStream(Objects.requireNonNull(imageUri));
    } 
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
    Objects.requireNonNull(fos).close();
}

您最好不要将临时文件存储在媒体存储中,而是存储在getFilesDir()等中。
如何隐藏作用域目录的子文件夹
。您根本没有使用“作用域”目录。@blackapps尝试使用DCIM时遇到“但我有一些临时文件,我不想让用户在gallery中看到”相同错误,请不要将它们放在
MediaStore
中。正如blackapps所建议的,使用
getFilesDir()
getCacheDir()
getExternalFilesDir()
getExternalCachedir()
,以及
上下文
上的类似方法来获取您可以使用的目录。特别是对于描述为“临时文件”的文件,
getCacheDir()
似乎是一个不错的选择。“>但当我的应用程序存储图像时,它会将(点)替换为(斜杠)。”同样的问题!您最好不要将临时文件存储在媒体存储中,而是存储在getFilesDir()等中。
如何隐藏作用域目录的子文件夹
。您根本没有使用“作用域”目录。@blackapps尝试使用DCIM时遇到“但我有一些临时文件,我不想让用户在gallery中看到”相同错误,请不要将它们放在
MediaStore
中。正如blackapps所建议的,使用
getFilesDir()
getCacheDir()
getExternalFilesDir()
getExternalCachedir()
,以及
上下文
上的类似方法来获取您可以使用的目录。特别是对于描述为“临时文件”的文件,
getCacheDir()
似乎是一个不错的选择。“>但当我的应用程序存储图像时,它会将(点)替换为(斜杠)。”同样的问题!