4

Что я хочу: Нажатие кнопки должно открывать все изображения, которые находятся в определенной папке на SD-карте.Откройте все изображения в папке (SD-карта) сразу на кнопку

Что происходит: Если папка имеет более одного изображения, приложение показывает только одно изображение.

Кнопка Нажмите Код Метод:

private void showGallery() { 

    if ((personName.getText().toString() != null && !personName.getText().toString().isEmpty()) 
      && (mobileNo.getText() != null && !mobileNo.getText().toString().isEmpty())) { 

     File folder = new File(Environment.getExternalStorageDirectory(), 
        photoPath + personName.getText().toString() + "_" + mobileNo.getText().toString() + "/"); 

     File[] allFiles = folder.listFiles(); 
     if (allFiles != null && allFiles.length > 0) { 
      for (File child : allfiles) { 
       new SingleMediaScanner(getActivity(), child); 
      } 
     } 
    }  
} 

SingleMediaScanner Код:

public class SingleMediaScanner implements MediaScannerConnection.MediaScannerConnectionClient { 

     private MediaScannerConnection mMs; 
     private File mFile; 

     public SingleMediaScanner(Context context, File f) { 
      mFile = f; 
      mMs = new MediaScannerConnection(context, this); 
      mMs.connect(); 
     } 

     public void onMediaScannerConnected() { 
      mMs.scanFile(mFile.getAbsolutePath(), "image/*"); 
     } 

     public void onScanCompleted(String path, Uri uri) { 
      Intent intent = new Intent(Intent.ACTION_GET_CONTENT); 
      intent.setData(uri); 
      startActivity(intent); 
      mMs.disconnect(); 
     } 
    } 
} 
+0

где вы хотите, чтобы ваши изображения отображались? в списке? –

+0

@alexeypolusov: Нет, не хотите открывать эту папку либо внутри приложения галереи, либо хотите открыть папку. –

ответ

0

Использование Swipable карт библиотеки (трут т.п.). Это покажет стек всех изображений. Ниже приведена ссылка полезная: https://android-arsenal.com/details/1/222

+0

Я не хочу использовать библиотеку. Хотите разрешить это с помощью MediaScanner. –