android直接打开系统相册的方法

标签(空格分隔): android


最近项目开发中需要用到打开系统相册的方法,之前通用的方法实现是向系统发送一个intent然后系统会弹出可以选择系统相片的应用。

这个样的做法有缺点:

  1. 操作比较繁琐:
    正常情况下,我们在选择图片是,会弹出两个选项,一个是从相机选择,一个是,从相册或者图库中选择,想一下,如果当我们在选择图库的时候,又弹出了选择选项,这个时候是不是有点繁琐呢?其实我们的目的很简单,就是选择一个我们手机里已存在的图片,为何不直接一点呢?
  2. 系统在弹出可以打开改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);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,930评论 25 708
  • 原文链接:https://github.com/opendigg/awesome-github-android-u...
    IM魂影阅读 32,954评论 6 472
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 46,871评论 22 665
  • 读书,以前上初中、高中的时候,我不理解读书到底有什么乐趣,也无法理解那些所谓的世界名著,在我看来都是索然无味,甚至...
    子默不语阅读 253评论 0 0
  • 命名关键字参数用于指定关键字 参数定义的顺序必须是:位置参数、默认参数(关键字参数)、可变参数、命名关键字参数、可...
    wangfp阅读 250评论 0 0