2015-05-15 3 views
1
private static final int PICK_FROM_GALLERY = 2;  
    private void fireGallerypick() { 
     Intent intent = new Intent(); 
     intent.setType("image/*"); 
     intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true); 
     intent.setAction(Intent.ACTION_GET_CONTENT); 
     startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_FROM_GALLERY); 
    } 

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    switch (requestCode) { 
     case PICK_FROM_GALLERY: 
      if (resultCode == -1) { 
       System.out.println("Gallery pick success"); 
       String[] all_path = data.getStringArrayExtra("all_path"); //But it returns null 
       break; 
      } 
    } 
} 

Я могу выбрать несколько изображений и когда сделаю выбор. Мне нужен путь для всех выбранных файлов в String[]. заранее спасибо.Как выбрать несколько изображений из галереи Android

ответ

1
Intent i = new Intent(Action.ACTION_MULTIPLE_PICK); 
startActivityForResult(i, 200); 

И чтобы получить изображение-пути в onActivityResult, сделать так -

@Override 
    public void onActivityResult(int requestCode, int resultCode, Intent data) { 
     if (requestCode == 200 && resultCode == Activity.RESULT_OK) { 

      String[] all_path = data.getStringArrayExtra("all_path"); 



     for (String string : all_path) { 

      String sdcardPath = string; 


     } 

Примечание: опция EXTRA_ALLOW_MULTIPLE доступна только в Android API 18 и выше.

+1

Я уже использовал его, как получить все пути выбранных изображений в 'onActivityResult' ... –

+0

проверить обновленный ответ – NarendraJi

+0

' String [] imagesPath = data.getStringExtra («данные»). Раскол (» \\ | ");' возвращает null также я попробовал 'String imagesPath = data.getStringExtra (" data ");' this также возвращает null .. –

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