android 11如何剪裁上传图片
1、剪裁代码
/*** 图片裁剪,裁剪后存放在沙盒目录下(沙盒目录/picture/子文件夹)** @param activity activity* @param uri 图片uri* @return 裁剪后的图片uri*/public static void openCrop(Activity activity, Uri uri) {if (!Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {//未挂在存储设备或者没有读写权限return;}imgName = System.currentTimeMillis() + ".jpg";Intent intent = new Intent("com.android.camera.action.CROP");intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION | Intent.FLAG_GRANT_WRITE_URI_PERMISSION);intent.setDataAndType(uri, "image/*");// 设置裁剪intent.putExtra("crop", "true");// aspectX aspectY 是宽高的比例intent.putExtra("aspectX", 1);intent.putExtra("aspectY", 1);// intent.putExtra(MediaStore.EXTRA_OUTPUT, resultUri);// 图片格式intent.putExtra("outputFormat", "png");intent.putExtra("noFaceDetection", true);// 取消人脸识别intent.putExtra("return-data", true);// true:不返回uri,false:返回uriif (Build.VERSION.SDK_INT >= 30) {//android 11以上,将文件创建在公有目录String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES).getPath();//storage/emulated/0/PicturesFile mOnputFile = new File(path, imgName);intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.parse("file://" + mOnputFile.getAbsolutePath()));}activity.startActivityForResult(intent, REQUEST_CODE_CAPTURE_CROP);}
2、上传代码
/*** @param bmpPath*/public static void uploadImg(Activity activity, String bmpPath, String name) {Log.d(TAG, "uploadImg utils: " + bmpPath + "," + name);if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {file = new File(Environment.getExternalStoragePublicDirectory(DIRECTORY_PICTURES) + File.separator + name);Log.d(TAG, "uploadImg file: " + file.getAbsolutePath());FileUtils.uploadHeadImage(activity, file, Constant.HEAD_URL);} }
3、最为重要的一点 权限的获取
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) {
// 适配android11读写权限
if (Environment.isExternalStorageManager()) {
//已获取android读写权限
} else {
Intent intent = new Intent(Settings.ACTION_MANAGE_APP_ALL_FILES_ACCESS_PERMISSION);
intent.setData(Uri.parse("package:" + getPackageName()));
startActivityForResult(intent, REQUEST_PERMISSION_CODE);
}
return;
}
具体上传逻辑根据自己需要编写。
其中file = new File(Environment.getExternalStoragePublicDirectory(DIRECTORY_PICTURES) + File.separator + name);很重要
android 11如何剪裁上传图片相关推荐
- Android 11 上传图片适配 和 第三方登录
一 上传图片 本次适配,不添加android:requestLegacyExternalStorage="true" ,过程都用原生系统代码 1.首先选择图片 Intent in ...
- Android中使用OKHttp上传图片,从相机和相册中获取图片并剪切
Android中使用OKHttp上传图片,从相机和相册中获取图片并剪切 效果: 注意: 1:网络权限 <uses-permission android:name="android.pe ...
- 谷歌官方版android,谷歌Android 11正式官方版
谷歌Android 11正式官方版终于和广大用户朋友们见面了,今天,谷歌正式发布了最新版本的移动操作系统Android 11,此次更新为大家新增了很多的功能,分别分为三个主题,人. 控件和隐私.And ...
- android上传本地图片到服务器上,Android使用post方式上传图片到服务器的方法
本文实例讲述了Android使用post方式上传图片到服务器的方法.分享给大家供大家参考,具体如下: /** * 上传文件到服务器类 * * @author tom */ public class U ...
- 未找到beta版怎么解决_刚刚,谷歌正式发布Android 11 Beta版,带来多项重磅更新...
作者 | 安卓开发者博客 译者 | 核子可乐 策划 | 小智 转发链接:https://mp.weixin.qq.com/s/gp2XZGe69KDMAtsOeu56YA 前言 今日,谷歌安卓开发者博 ...
- android11测试版下载,Find X2系列 Android 11 Beta1 测试版发布,你要尝试一下吗?
原标题:Find X2系列 Android 11 Beta1 测试版发布,你要尝试一下吗? 今年的特殊情况导致安卓11发布日期的一波三折,然而最后谷歌还是在6月11日发布了安卓Beta1版本.有趣的是 ...
- 安卓用户又少了一项自由,Android 11不再支持更改默认相机程序
萧萧 发自 凹非寺 量子位 报道 | 公众号 QbitAI 在微博.微信上想要拍照上传时,想直接用FaceU或美图秀秀作为默认拍照程序,给自拍加个滤镜? 在即将推出的Android 11里,这些第三方 ...
- Android11模拟定位开发,Android 11 中的位置信息更新
为了进一步保护用户隐私,Android 11 增加了单次位置信息访问权限,并更改了用户授予在后台访问位置信息权限的方式.这些更新会影响到 Android 11 及更高版本上运行的所有应用. 单次访问权 ...
- android 美颜,「照骗」要消失了?Android 11 或禁用自动美颜
从照片到照骗,就是近年来手机人像摄影的完美总结.而这一变化的背后,就是越来越强大的美颜功能. 现在的手机--尤其是国产手机,打开前置相机就仿佛走进了整容院. 五官脸型发际线,肤色肤质黑眼圈,想到想不到 ...
- birt预览能有内容发布后没内容_谷歌突然推出Android 11开发者预览版 新版带来部分新功能和改进...
谷歌刚刚在安卓开发者网站放出 Android 11 版的开发者预览版,该版本主要面向开发者提供用来测试新版功能. 在新版本里目前谷歌已经发布部分新功能和改进,随着开发者版本不断更迭后续更多新功能和改进 ...
最新文章
- Windows10远程桌面Ubuntu——把服务器当超高配置的个人电脑使用
- ie8恶心的bug--4个小时的教训
- 011 smali语法详解
- local map at cambridge
- 团队开发个人总结05
- php登录个性验证码,PHP七种不同的个性创意验证码例子
- 计算机专业英语作业1,计算机专业英语作业1
- 香港理工计算机qs排名,香港理工大学专业排名一览及最强专业推荐(QS世界大学排名)...
- 微信朋友圈内容能删除吗?
- L2TP详解(五)——Client Initiated隧道和会话建立过程
- Windows下,Unicode、UTF8,GBK(GB2312)互转
- python基础语法记录
- DCB差分码偏差概念及应用(附RTKLIB测试对比结果)
- 走向世界中的我国摄影测量与遥感 ——访中国测绘学会理事长、国家测绘局原副局长杨凯
- html背景颜色渐变色代码,css3背景渐变色代码
- NES模拟器源码阅读
- 群友(淡泊、明志)总结java面试题
- APP推广有哪些渠道
- 短域名Andy.ge 安迪哥的启用
- Selenium详解—— 自动化测试工具