/**
 * 裁剪原始的图片
 */
public static final int PHOTOZOOM = 2; // 缩放
public static final int PHOTORESOULT = 3;// 结果
Uri mUritempFile;
@PermissionYes(200)
//申请权限成功打开相册

private void getMultiYes( @NonNull List<String> grantedPermissions) { Intent local = new Intent() ; local.setType( "image/*") ; local.setAction(Intent. ACTION_GET_CONTENT) ; startActivityForResult(local , 2) ;} public void cropRawPhoto(Uri uri) { Intent intent = new Intent( "com.android.camera.action.CROP") ; intent.setDataAndType(uri , "image/*") ; // 设置裁剪 intent.putExtra( "crop" , "true") ; // aspectX , aspectY :宽高的比例 intent.putExtra( "aspectX" , 1) ; intent.putExtra( "aspectY" , 1) ; // outputX , outputY : 裁剪图片宽高 intent.putExtra( "outputX" , 100) ; intent.putExtra( "outputY" , 100) ; String dateFolder = new SimpleDateFormat( "yyyyMMdd" , Locale. CHINA) .format( new Date()) ; //设置图片保存路径 String fff = "file://" + "/" + Environment. getExternalStorageDirectory() + "/DCIM/" ; //设置图片名称 File fullFile = new File(fff , dateFolder + ".jpeg") ; //将图片路径转换成uri mUritempFile = Uri. parse(fullFile.toString()) ; intent.putExtra(MediaStore. EXTRA_OUTPUT , mUritempFile) ; intent.putExtra( "outputFormat" , Bitmap.CompressFormat. JPEG.toString()) ; intent.putExtra( "return-data" , false) ; startActivityForResult(intent , PHOTORESOULT) ;

}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {if (requestCode == PHOTOZOOM&& data != null) {//这是获取的图片保存在sdcard中的位置
        cropRawPhoto(getPictureUri(data));
    }if (requestCode == PHOTORESOULT && data != null) {Map<String, String> map = new HashMap<>();
        map.put("client_type", "3");
        map.put("type", "headimg");
        map.put("token", ApiHost.getToken());
        LogUtil.e("LXY", getPictureUri(mUritempFile).toString());
        ImageDown.getFile(this, mUritempFile, map);
    }super.onActivityResult(requestCode, resultCode, data);
}
/**
 * 解决小米手机上获取图片路径为null的情况
 */
public Uri getPictureUri(android.content.Intent intent) {Uri uri = intent.getData();
    String type = intent.getType();
    if (uri.getScheme().equals("file") && (type.contains("image/"))) {String path = uri.getEncodedPath();
        if (path != null) {path = Uri.decode(path);
            ContentResolver cr = getContentResolver();
            StringBuffer buff = new StringBuffer();
            buff.append("(").append(MediaStore.Images.ImageColumns.DATA).append("=").append("'" + path + "'").append(")");
            Cursor cur = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                    new String[]{MediaStore.Images.ImageColumns._ID},
                    buff.toString(), null, null);
            int index = 0;
            for (cur.moveToFirst(); !cur.isAfterLast(); cur.moveToNext()) {index = cur.getColumnIndex(MediaStore.Images.ImageColumns._ID);
                // set _id value
                index = cur.getInt(index);
            }if (index == 0) {// do nothing
            } else {Uri uri_temp = Uri.parse("content://media/external/images/media/"
                                + index);
                if (uri_temp != null) {uri = uri_temp;
                }}}}return uri;
}/**
 * 解决小米手机上获取图片路径为null的情况
 */
public Uri getPictureUri(Uri uri) {if (uri.getScheme().equals("file")) {String path = uri.getEncodedPath();
        if (path != null) {path = Uri.decode(path);
            ContentResolver cr = getContentResolver();
            StringBuffer buff = new StringBuffer();
            buff.append("(").append(MediaStore.Images.ImageColumns.DATA).append("=").append("'" + path + "'").append(")");
            Cursor cur = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
                    new String[]{MediaStore.Images.ImageColumns._ID},
                    buff.toString(), null, null);
            int index = 0;
            for (cur.moveToFirst(); !cur.isAfterLast(); cur.moveToNext()) {index = cur.getColumnIndex(MediaStore.Images.ImageColumns._ID);
                // set _id value
                index = cur.getInt(index);
            }if (index == 0) {// do nothing
            } else {Uri uri_temp = Uri.parse("content://media/external/images/media/"
                                + index);
                if (uri_temp != null) {uri = uri_temp;
                }}}}return uri;
}

小米手机相册选择并裁剪图片相关推荐

  1. Android开发 调用系统相机相册图片功能,解决小米手机拍照或者图片横竖相反问题,及小米手机相册图片路径问题

    Android开发 调用系统相机相册图片功能,解决小米手机拍照或者图片横竖相反问题,及小米手机相册图片路径问题 1.调用相机,兼容7.0 AndroidManifest配置 <providera ...

  2. 隐藏在小米手机相册中的功能,你不会以为相册只能用来存图片吧?

    如果说到手机相册,你的第一反应是什么?用来保存图片的功能.相信大多数人的想法都是这样的,但是今天就来说说小米手机相册中一些实用并且有意思的功能. 1.魔法消除 这个功能可能只有部分人了解,还有一部分并 ...

  3. 小米手机相册选取后的intent为空?

    一.问题现象 在小米手机选择相册图片-裁剪后发现拿不到图片 展示不出来,通过debug发现小米手机上的Intent返回了空 @Override public void onActivityResult ...

  4. android 解决小米手机上选择照片路径为null的问题

    之前做了一个获取相册选择图片的功能,后来测试人员在小米的手机 测试时出现崩溃现象.自己就在网上查找资料,发现是小米的获取图片路径的代码与其他的手机不一样,于是修改了代码,解决了这个问题,这里记录一下. ...

  5. android小米手机上传图片,android 解决小米手机上选择照片路径为null的问题

    释放双眼,带上耳机,听听看~! 之前做了一个获取相册选择图片的功能,后来测试人员在小米的手机 测试时出现崩溃现象.自己就在网上查找资料,发现是小米的获取图片路径的代码与其他的手机不一样,于是修改了代码 ...

  6. Android 中拍照、相册选择、裁剪照片

    一个多月没总结知识点了,差点连博客账号都忘了...好了,步入正题,在 Android 中调用摄像头拍照获取图片或者是从相册中选取图片是很常见的功能,比如某些 APP 上传头像的功能就是一个例子. ** ...

  7. vue调用手机相机相册_今天才发现,点一下小米手机相册,能将照片一键制作成电影...

    随着国产手机的发展,手机像素越来越高,里面的功能也越来越丰富,手机拍照成了不少人的日常,如果你很爱拍照,手机里有一大堆照片,那么教你用手机自带的相册功能,一键将照片制作成电影,自带背景音乐,好看还很高 ...

  8. android禁止弹出保存此图片,安卓手机相册总是出现陌生图片?教你彻底清除!...

    原标题:安卓手机相册总是出现陌生图片?教你彻底清除! 各位小伙伴们在查看手机相册时,是否经常看见一些陌生图片呢?每次删除之后也还是会出现,这该如何解决?如果你也有这样的情况出现,可能是没有将手机中的这 ...

  9. android 自定义相册选择,Android图片选择器,支持拍照、从相册选择、裁剪、自定义主题...

    在很多项目中都会用到图片选择器,比如在选择头像的时候,还会要求选择图片进行裁剪后再进行上传:而有的项目要支持拍照后进行图片裁剪再进行上传.由于Android系统兼容性问题,我们不得不考虑自己实现图片裁 ...

最新文章

  1. 正则表达式相关案例(很实用很强大)
  2. nginx alias php 404,Nginx配置静态服务器以及404问题解决,root和alias的区别
  3. [hdu5372 Segment Game]树状数组
  4. C++socket编程(五):5.2 tcp编程总结
  5. hbase分布式集群搭建
  6. 计算机应用与篮球有关的文章,浅析计算机技术应用对高校篮球教学的作用与影响...
  7. Pandas直接读取sql脚本
  8. 基于LEAP模型的能源环境发展、碳排放建模预测及不确定性分析
  9. 信息技术测试计算机疑难问题处理,江苏省中小学信息技术等级考试常见问题处理.doc...
  10. word如何删除某一页的页眉
  11. 华为热设计工程师待遇_【华为热设计工程师面试】华为热设计工程师大家要慎重考虑。-看准网...
  12. Xray安全评估工具使用
  13. onkeyup+onafterpaste 只能输入数字和小数点
  14. 什么是台式机主板的“双通道”认知误区?
  15. 80psi等于多少kpa_1公斤的气压是多少KPA?
  16. 固定资产盘点的常用方法有哪些?
  17. Navicat premium 12 闪退问题(非有道词典问题)
  18. Springboot @Value读取map或list的properties配置
  19. 融资租赁系统-覆盖业务全场景数据服务
  20. 华为HCIP-RS考试资料

热门文章

  1. 20145202马超《JAVA》预备作业
  2. ma5822是什么设备_ma5822是什么设备_华为MA5821-24 - AC远端光接入ONU光纤设备24口 全新原装...
  3. 工控之威纶通MT8102IE和FX5U以及Q系列网络模块通讯
  4. crack翻译成中文_crack是什么意思中文翻译
  5. JVAV入门之JDK12安装及搭建
  6. DNS域名解析服务器的搭建
  7. linux下qt和wine,Ubuntu下安装wine详细介绍
  8. 雨林木风 Ghost WinXP 2008 贺岁版
  9. 阿里云oss服务操作文件,上传下载生成链接删除通知等
  10. emui10如何降级_华为手机升级EMUI10,系统杀后台很严重?那要记得调整这3个设置...