2016-05-29 2 views
0

Ниже перечислены мои требования: У меня есть флажок в моей деятельности. Если флажок установлен, я добавлю файл «.nomedia», чтобы скрыть все фотографии в моей папке. Если флажок снят, я удалю файл «.nomedia», чтобы отобразить все фотографии в папке. Моя проблема заключается в том, что создание/удаление файла «.nomedia» успешно, скрытие/скрытие изображений не происходит в приложении Android-галереи. Как заставить приложение галереи отображать/скрывать содержимое папки в соответствии с моим статусом флажка?условно скрывать и скрывать папки изображений в android

Ниже мой код:

CheckBox checkBox = (CheckBox) findViewById(R.id.checkBox1); 
if (checkBox.isChecked()) { 
           hideFolder();          
          } else { 
           unHideFolder();          
          } 

    private void hideFolder() { 
     File targetDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + CONSTANTS.MYFOLDERPATH); 
     File noMediaFile = new File(targetDir, ".nomedia"); 
     try { 
      if (!noMediaFile.exists()) { 
       noMediaFile.createNewFile(); 
      } 
     } catch (IOException ex) { 
      ex.printStackTrace(); 
     } 
    } 

    private void unHideFolder() { 
     File targetDir = new File(Environment.getExternalStorageDirectory().getAbsolutePath() + CONSTANTS.MYFOLDERPATH); 
     File noMediaFile = new File(targetDir, ".nomedia"); 
     if (noMediaFile.exists()) { 
      noMediaFile.delete(); 
     } 
    } 

ответ

0

Вы должны заставить запуск медиа сканирования. Таким образом, для индекса медиа на SD-карте, .nomedia не будет отражать сразу. Для этого нужно очистить данные приложения Gallery.

+0

Спасибо за помощь. Как выполнить сканирование силы? @Zingking – Adi

Смежные вопросы