标签(空格分隔): android
最近项目开发中需要用到打开系统相册的方法,之前通用的方法实现是向系统发送一个intent
然后系统会弹出可以选择系统相片的应用。
这个样的做法有缺点:
- 操作比较繁琐:
正常情况下,我们在选择图片是,会弹出两个选项,一个是从相机选择,一个是,从相册或者图库中选择,想一下,如果当我们在选择图库的时候,又弹出了选择选项,这个时候是不是有点繁琐呢?其实我们的目的很简单,就是选择一个我们手机里已存在的图片,为何不直接一点呢? - 系统在弹出可以打开改Action的选项时,会有一个
始终
,仅此一次
的选项,如果用户在已经设置了默认程序,那么可能就不会打开我们想要的预期程序。
最近发现一个可以直截了当的方法:
private final String IMAGE_TYPE = "image/*";
public static final int IMAGE_REQUEST_CODE = 0x102;
public void openAlbum(){
Intent intent = new Intent();
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType(IMAGE_TYPE);
if (Build.VERSION.SDK_INT <19) {
intent.setAction(Intent.ACTION_GET_CONTENT);
}else {
intent.setAction(Intent.ACTION_OPEN_DOCUMENT);
}
getActivity().startActivityForResult(getAlbum, IMAGE_CODE);
}