第一步Android studio打开build.gradle加入
implementation "org.devio.takephoto:takephoto_library:4.1.0"
第二步,加入PhotoPickerActivity,不要忘了在Mainfest里面注册
第三步,type=1是拍照、type=2是从相册选择
Intent intent = new Intent(this, PhotoPickerActivity.class); intent.putExtra("type", 1); startActivityForResult(intent, TAKE_PIC);
第四步,重写onActivityResult,这里的path就是文件路径,可以用Glide加载,可以上传到服务器
@Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data); if (resultCode == 1 && requestCode == TAKE_PIC) { String path = data.getStringExtra("path"); if (!TextUtils.isEmpty(path)) Glide.with(instance).load(path ).into(iv_img); } } }
注意:
版本只适用于targetSdkVersion<=29,并且需要在manifest里面加入android:requestLegacyExternalStorage="true",如果targetSdkVersion<=28,不需要加这句
targetSdkVersion 29
implementation "org.devio.takephoto:takephoto_library:4.1.0"
获取PhotoPickerActivity点击 PhotoPickerActivity.java-Android文档类资源-CSDN下载
如需要适配Android 11,请看这里Android 11 拍照,裁剪,从相册选择图片遇到的问题_西楚曹长卿的博客-CSDN博客