android点击按钮打开相册,打开相机的代码[通俗易懂]
2023-06-13 09:14:48 时间
大家好,又见面了,我是你们的朋友全栈君。
打开相册 首先在onclick方法中:
Intent intent = new Intent();
intent.setType("image/*");// 开启Pictures画面Type设定为image
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent, REQUEST_CODE_SELECT_PHOTO);
其次,在onActivityResult
的回调方法中:
if (resultCode == RESULT_OK) {
Uri uri = Crop.getOutput(data);
Bitmap bm;
try {
bm = ImageUtils.getZoomOutBitmap(this.getContentResolver(), uri, 750, 750);
} catch (FileNotFoundException e) {
Toast.makeText(this, "图片找不到", Toast.LENGTH_SHORT).show();
return;
}
//这里上传图片到服务器
//HttpUtils.uploadCircleImg(rQueue, new BitmapUploadParam(uri.getPath() + ".jpg", bm, 70), this,
//CODE_EVAL_UPLOAD);
} else if (resultCode == Crop.RESULT_ERROR) {
Toast.makeText(this, Crop.getError(data).getMessage(), Toast.LENGTH_SHORT).show();
}
打开相机 首先在onclick方法中:
private Uri tempUri;
if (tempUri == null)
tempUri = getTempUri();
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
intent.putExtra(MediaStore.EXTRA_OUTPUT, tempUri);
startActivityForResult(intent, REQUEST_CODE_SELECT_USEPHOTO);// 采用ForResult打开
其次,在onActivityResult
的回调方法中:
``` if (requestCode == REQUEST_CODE_SELECT_USEPHOTO && resultCode == RESULT_OK) {
cropPhoto(tempUri);// 裁剪图片
}
可以将拍照拍出来的照片进行裁剪,定义裁剪方法。
/** * 调用系统的裁剪 * * @param uri */
public void cropPhoto(Uri uri) {
if (tempUri == null)
tempUri = getTempUri();
Crop.of(uri, tempUri).asSquare().start(this, 3);
}
protected Uri getTempUri() {
File dir = getExternalFilesDir(Environment.DIRECTORY_PICTURES);
if (dir == null)
dir = getFilesDir();
if (!dir.exists())
dir.mkdirs();
File f = new File(dir, "heyqun-temp.jpg");
return Uri.fromFile(f);
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/190593.html原文链接:https://javaforall.cn
相关文章
- android开机动画多长时间_Android开机动画及黑屏[通俗易懂]
- android 浏览器 开发,Android 浏览器的开发实例分享
- 代码加密 android,Android 开发怎样做代码加密或混淆「建议收藏」
- android签名命令行,Android系统签名位置及命令
- Android studio安装教程(2020/11/20最新版本的安装)[通俗易懂]
- android 混淆规则作用,Android代码混淆详解
- android登录注册跳转的代码_Android开发代码
- Android 编译_android线程
- Android模拟器开发_安卓模拟器开发
- android 复制控件,Android长按复制文本功能[通俗易懂]
- 【Android 高性能音频】AAudio 缓冲区控制 ( XRun | 欠载 UnderRun | 超限 OverRun | 获取缓冲区大小 | 设置缓冲区大小 )
- 【Android 逆向】IDA 工具使用 ( IDA 32 位 / 64 位 版本 | 汇编代码视图 IDA View-A | 字符串窗口 Strings window )
- 【错误记录】Android Studio 编译报错 ( Error: Duplicate resources | 使用 sourceSets 配置多个 res 资源不能有重复名称的资源 )
- 【错误记录】Android 应用安全检测漏洞修复 ( StrandHogg 漏洞 | 设置 Activity 组件 android:taskAffinity=““ )
- 【Android Gradle 插件】自定义 Gradle 任务 ⑪ ( Gradle 任务分组 | 为自定义 Gradle 任务指定分组 | 为自定义 Gradle任务指定任务描述 | 代码示例 )
- Android NoSQL之SnappyDB详解手机开发
- android Titlebar一行代码实现沉浸式效果详解手机开发
- 实现android apk反编译后代码混淆详解手机开发
- android手机获取gps和基站的经纬度地址实现代码
- android二级listview列表实现代码
- android开发之方形圆角listview代码分享
- Android中截取当前屏幕图片的实例代码
- Android实现GPS定位代码实例
- Android开场动画类完整实现代码