В последнее время из-за изменения поведения приложения в android 10 я использую хранилище мультимедиа для сохранения растрового изображения в хранилище. Но у меня есть некоторые картинки, которые я не хочу, чтобы пользователи видели в галерее, поэтому я хочу скрыть их в хранилище, используя . (DOT)
Но когда изображение сохраняется моим приложением, оно заменяется . (DOT) с (SLA SH) _.
EG
/storage/emulated/0/Pictures/.myFolder/_0.png
Заменено на
/storage/emulated/0/Pictures/_.myFolder/_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();
}