先看一下效果图
通过Intent调用系统图库
Intent intent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(intent,PHOTO_REQUEST_CODE);
选择图片后的处理,在onActivityResult()回调方法中
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode){
case PHOTO_REQUEST_CODE:
if(resultCode == RESULT_OK){
Uri uri = data.getData();
//通过uri的方式返回,部分手机uri可能为空
if(uri != null){
try {
//通过uri获取到bitmap对象
Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), uri);
imageView.setImageBitmap(bitmap);
} catch (IOException e) {
e.printStackTrace();
}
}else {
//部分手机可能直接存放在bundle中
Bundle bundleExtras = data.getExtras();
if(bundleExtras != null){
Bitmap bitmaps = bundleExtras.getParcelable("data");
imageView.setImageBitmap(bitmaps);
}
}
}
break;
}
}
简简单单的一个获取系统图库的Demo就完成了。