如何实现从相册中选取图片
1.运行时权限处理,申请
WRITE_EXTERNAL_STORAGE
这个危险权限,需要读写SD卡的能力2.申请成功则继续构建
Intent对象
,指定action
:android.intent.action.GET_CONTENT
。用setType()
设置返回类型为图片3.调用
startActivityForResult()
隐式启动intent
4.回调
onActivityResult()
判断图片是否成功返回,如果成功,对4.4以上系统采用handleImageOnKitkat()
,对4.4以下系统采用handleImageBeforeKitkat()
5.
handleImageOnKitkat()
:- 返回的
uri
如果是document
类型,取出document id
处理获取路径图片- 如果
Uri
的authority
是media
格式的话,document id
还要再一步处理才能获取路径图片
- 如果
- 不是的话则普通方式处理,直接获得路径图片
- 返回的
本项目在 26节调用摄像头项目的基础上修改
修改布局 增加选照片按钮
1 | <?xml version="1.0" encoding="utf-8"?> |
活动
1 | public class MainActivity extends AppCompatActivity implements View.OnClickListener{ |