2015-05-15 41 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(“data”)。split(“ \\ |“);'返回空也我已经尝试过'字符串imagesPath = data.getStringExtra(”数据“);'这也返回空值.. –