自己重写了一个多图选择页面,核心代码如下:
/**
* 获取相册里的照片集ַ
*
* @return
*/
public static List<String> getPhotoList(Context context) {
List<String> list = new ArrayList<String>();
Cursor cur = null;
try {
String[] proj = { MediaStore.Images.Media.DATA };
ContentResolver cr = context.getContentResolver();
cur = cr.query(Images.Media.EXTERNAL_CONTENT_URI, proj, null, null,
MediaStore.Images.ImageColumns.DATE_TAKEN + " DESC");
for (cur.moveToFirst(); !cur.isAfterLast(); cur.moveToNext()) {
String path = cur.getString(cur
.getColumnIndex(MediaStore.Images.Media.DATA));
list.add(new File(path).getAbsolutePath());
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (cur != null)
cur.close();
}
别的手机都没问题,偏偏三星的照片读取不出来,只好把每张照片的bitmap重写了,这种效率很低,不知道有没有更好的方法。