Сделать изображения и папки невидимыми для галереи, сохраненной на SD-карте? - PullRequest
1 голос
/ 15 сентября 2011

Привет! Я хочу сделать изображения невидимыми для галереи Android или любого другого приложения галереи, изображение будет помещено в определенную папку на SD-карте.

Например, у меня есть следующий код для сохранения изображения в папку с именем myimages. Я просто хочу, чтобы изображения, хранящиеся в папке myimages, не были видны ни одному приложению галереи, и только мое собственное приложение может получить к ним доступ.

void saveBitmap(Bitmap bmp)
{
    FileOutputStream os;
    String dirName = "/mvc/mvc/myiamges/";
            try {  
                if (android.os.Environment.getExternalStorageState().equals(
                        android.os.Environment.MEDIA_MOUNTED)){
                    String root = Environment.getExternalStorageDirectory()
                                          .toString();
                    File dir = new File (root + dirName);

                    boolean created=dir.mkdirs();
                    //File file = new File(this.getExternalFilesDir(null), 
                            //                     this.dirName+fileName); 
                            //this function give null pointer exception so im 
                            //using other one
                    File file = new File(dir, "aeg2.png");
                    os = new FileOutputStream(file);
                }else{
                    os = openFileOutput("aeg2.png", MODE_PRIVATE);
                }
                bmp.compress(CompressFormat.PNG, 100, os);

                os.flush();
                os.close();
            }catch(Exception e){
                e.printStackTrace();
            }
}

Ответы [ 2 ]

0 голосов
/ 02 февраля 2013

Да, сохраните его с любым желаемым расширением или даже без расширения.

В вашем приложении просто прочитайте его как обычный файл изображения.

0 голосов
/ 21 сентября 2011

Переименуйте эти файлы с пользовательскими расширениями, такими как filename.extension.customextension

как hello.avi.topsecret.

Если для воспроизведения файла требуется режим готовности, переименуйте его на нужное расширение, воспроизведите и переименуйте его.

Это должно сработать для вас.

или

Префикс имени вашей папки с точкой "."

Проверьте эти ссылки для получения дополнительной информации:

http://www.makeuseof.com/tag/hide-private-picture-folders-gallery-android/

...