android 取得本地相册相片或者照相即照相后取出图片

2023-11-23 10:58

本文主要是介绍android 取得本地相册相片或者照相即照相后取出图片,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

//打开相册去图片或者照相

》public void OpenGallery() {//相册

Intent intent = new Intent(Intent.ACTION_PICK);
intent.setType("image/*");
startActivityForResult(intent, PHOTO_REQUEST_GALLERY);
}


private File mTempFile;
public void OpenCamera(Context context) {//拍照
Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
String picPath = FileOperatUtils.hasSDcardOnCreateFile();
if (StringUtils.isEmpty(picPath)) {
Toast.makeText(context, "SD卡不存在,无法使用拍照!", Toast.LENGTH_LONG).show();
return;
}
mTempFile = new File(picPath,
"IMG_"
+ DataFormatUtils.timeStampToYMDhHSM(System
.currentTimeMillis()) + ".jpg");
Uri uri = Uri.fromFile(mTempFile);
intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);
startActivityForResult(intent, PHOTO_REQUEST_CAREMA);

}

》@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {

String picPath = null;
if (requestCode == PHOTO_REQUEST_GALLERY) {// 相册
if (data != null) {
Uri uri = data.getData();

String schemeStr = data.getScheme().toString();


if (schemeStr.compareTo("file") == 0) {


picPath = uri.toString();
picPath = picPath.replace("file://", "");

} else if (schemeStr.compareTo("content") == 0) {
String[] filePathColumn = { MediaStore.Images.Media.DATA };
Cursor cursor = null;
cursor = mContext.getContentResolver().query(uri,
filePathColumn, null, null, null);
if (cursor != null && cursor.moveToFirst()) {
int columnIndex = cursor
.getColumnIndex(filePathColumn[0]);
picPath = cursor.getString(columnIndex);
cursor.close();

}
}


}
} else if (requestCode == PHOTO_REQUEST_CAREMA) {// 拍照
if(resultCode != 0){
if (FileOperatUtils.hasSdcard()) {
picPath = mTempFile.getAbsolutePath();
}
}
}
if (!StringUtils.isEmpty(picPath)) {
Bitmap bmp = ImageCompression.getBitmapFromUri(picPath);// 根据地址压缩图片
if (bmp != null) {
mBitmapList.add(0, bmp);
mGvImgsAdapter.notifyDataSetChanged();
}
}
super.onActivityResult(requestCode, resultCode, data);
}

这篇关于android 取得本地相册相片或者照相即照相后取出图片的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/417440

相关文章

C#实现添加/替换/提取或删除Excel中的图片

《C#实现添加/替换/提取或删除Excel中的图片》在Excel中插入与数据相关的图片,能将关键数据或信息以更直观的方式呈现出来,使文档更加美观,下面我们来看看如何在C#中实现添加/替换/提取或删除E... 在Excandroidel中插入与数据相关的图片,能将关键数据或信息以更直观的方式呈现出来,使文档更

C#中图片如何自适应pictureBox大小

《C#中图片如何自适应pictureBox大小》文章描述了如何在C#中实现图片自适应pictureBox大小,并展示修改前后的效果,修改步骤包括两步,作者分享了个人经验,希望对大家有所帮助... 目录C#图片自适应pictureBox大小编程修改步骤总结C#图片自适应pictureBox大小上图中“z轴

使用Python将长图片分割为若干张小图片

《使用Python将长图片分割为若干张小图片》这篇文章主要为大家详细介绍了如何使用Python将长图片分割为若干张小图片,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. python需求的任务2. Python代码的实现3. 代码修改的位置4. 运行结果1. Python需求

springboot 加载本地jar到maven的实现方法

《springboot加载本地jar到maven的实现方法》如何在SpringBoot项目中加载本地jar到Maven本地仓库,使用Maven的install-file目标来实现,本文结合实例代码给... 在Spring Boothttp://www.chinasem.cn项目中,如果你想要加载一个本地的ja

使用JavaScript操作本地存储

《使用JavaScript操作本地存储》这篇文章主要为大家详细介绍了JavaScript中操作本地存储的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录本地存储:localStorage 和 sessionStorage基本使用方法1. localStorage

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

使用 Python 和 LabelMe 实现图片验证码的自动标注功能

《使用Python和LabelMe实现图片验证码的自动标注功能》文章介绍了如何使用Python和LabelMe自动标注图片验证码,主要步骤包括图像预处理、OCR识别和生成标注文件,通过结合Pa... 目录使用 python 和 LabelMe 实现图片验证码的自动标注环境准备必备工具安装依赖实现自动标注核心

Java操作xls替换文本或图片的功能实现

《Java操作xls替换文本或图片的功能实现》这篇文章主要给大家介绍了关于Java操作xls替换文本或图片功能实现的相关资料,文中通过示例代码讲解了文件上传、文件处理和Excel文件生成,需要的朋友可... 目录准备xls模板文件:template.xls准备需要替换的图片和数据功能实现包声明与导入类声明与

Android WebView的加载超时处理方案

《AndroidWebView的加载超时处理方案》在Android开发中,WebView是一个常用的组件,用于在应用中嵌入网页,然而,当网络状况不佳或页面加载过慢时,用户可能会遇到加载超时的问题,本... 目录引言一、WebView加载超时的原因二、加载超时处理方案1. 使用Handler和Timer进行超

Nacos客户端本地缓存和故障转移方式

《Nacos客户端本地缓存和故障转移方式》Nacos客户端在从Server获得服务时,若出现故障,会通过ServiceInfoHolder和FailoverReactor进行故障转移,ServiceI... 目录1. ServiceInfoHolder本地缓存目录2. FailoverReactorinit