1.从相册选择的图片会存储到 data 里面,而相机拍照的图片不会存储到 data 里面

2.由于从相册选择的图片会存储到 data 里面,而相机拍照的图片不会存储到 data 里面,所以在获取图片资源进行回显的方式不同,请看一下详细代码:(一定要创建文件 createFileName())

// 选择是在相册中选还是拍照
private void changeHeadIcon() {final CharSequence[] items = { "相册", "拍照" };AlertDialog dlg = new AlertDialog.Builder(AddActiActivity.this).setTitle("选择图片").setItems(items, new DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int item) {// 这里 item 是根据选择的方式,if (item == 0) { // 相册createFileName();Intent intent = new Intent(Intent.ACTION_PICK);intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(currentImageFile));intent.setType("image/*");startActivityForResult(intent, PHOTO_REQUEST_GALLERY);} else {// 相机createFileName();if (Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED)) { // 判断SD卡状态:SD卡正常挂载Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);//通过intent调用照相机照相intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(currentImageFile));startActivityForResult(intent, PHOTO_REQUEST_CAMERA );} else {Toast.makeText(AddActiActivity.this, "未找到存储卡,无法存储照片!",Toast.LENGTH_SHORT).show();}}}}).create();dlg.show();
}
// 选择相册图片后的文件名
public void createFileName() {File dir = new File(Environment.getExternalStorageDirectory(),"pictures");if(dir.exists()) {dir.mkdirs();//在根路径下建子目录,子目录名是"pictures"}currentImageFile = new File(dir,System.currentTimeMillis() + ".jpeg");
}//在图库中选择图片之后回传的数据
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode == PHOTO_REQUEST_GALLERY) { // 相册if (data != null) {//将数据添加到数据集合中adapter.addData(data.getData().toString());}}else if (requestCode == PHOTO_REQUEST_CAMERA) { // 相机if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {//将数据添加到数据集合中adapter.addData(currentImageFile.toString());} else {Toast.makeText(AddActiActivity.this, "未找到存储卡,无法存储照片!",Toast.LENGTH_SHORT).show();}}}

Android --- 从相册中选择图片或者拍着选择图片遇到的问题相关推荐

  1. android点击选择相册,android: 从相册中选择照片

    虽然调用摄像头拍照既方便又快捷,但并不是每一次我们都需要去当场拍一张照片的. 因为每个人的手机相册里应该都会存有许许多多张照片,直接从相册里选取一张现有的照 片会比打开相机拍一张照片更加常用.一个优秀 ...

  2. Android 从相册中选择照片并返回

    参考自<第一行代码>及相关资料,这里存一遍后以后就不用再重头打一遍了.. 首先由于进行读写操作,要在 AndroidManifest.xml中声明权限: [java] view plain ...

  3. unityios相册_Unity中关于保存图片到Android/IOS相册中的问题

    我们在一些项目中可能需要截图保存功能(特别是AR的一些项目),将截下来的图保存的相册中,从而实现分享功能.下面就Android和IOS说一下他们是如何将图片保存到本地图册的. 关于安卓端,保存到相册方 ...

  4. 坑:Android从相册中选择图片加载到ImageView中显示不出

  5. Android获取相册中图片的路径 4.4版本前后的变化

    两个问题: 1. 通过调用系统Action,从图库中选择图片,并展示到界面上 2. API19前后获取相册图片路径 详见(仅客户端代码),请移步:本人GITHUB Intent intent = ne ...

  6. Android 调用相册 拍照 实现系统控件缩放 切割图片

    android 下如果做处理图片的软件 可以调用系统的控件 实现缩放切割图片 非常好的效果 今天写了一个demo分享给大家. package cn.m15.test;import java.io.By ...

  7. php拍照从手机相册中选择,Android获取图片:拍照和从相册中选择

    概述 在Android开发中获取图片主要包括如下两种方式: 打开相机拍照 从图库中选择图片 一.打开相机拍照 打开相机拍照主要包括如下几个部分: 权限申请 打开摄像头 拍照后传回数据处理 1. 权限申 ...

  8. 兼容Android 11 相机拍照,从相册中选择,裁剪图片

    由于android 11对存储空间进行了更新,导致无法进入裁剪或者裁剪后无法保存,返回路径等问题. android 10以下可以参考:android 相机拍照,从相册中选择,裁剪图片 前面部分和之前的 ...

  9. Android中使用封装的OKHttp上传图片,从相机和相册中获取图片并剪切

    Android中使用OKHttp上传图片,从相机和相册中获取图片并剪切 效果: 注意: 1:网络权限 <uses-permission android:name="android.pe ...

最新文章

  1. 菲波那切数列php实现,php实现菲波那切数列和杨辉三角
  2. Python找出序列中出现最多的元素
  3. hongyi lee 作业1
  4. 趋势型指标——MACD
  5. 2020年度总结(只有做好自己不喜欢的事情你才能做自己喜欢的事情)
  6. 「神策 2020 数据驱动用户大会」10 月 13 日即将开幕,5 大亮点提前解锁!
  7. android 左滑按钮,android开发类似微信列表向左滑动按钮操作
  8. 值得看的hadoop书籍
  9. JAVA计算机毕业设计美发门店管理系统Mybatis+系统+数据库+调试部署
  10. dll侧加载_Win7系统开机弹出模块xxx.dll已加载但找不到接入口DLLRegisterServer的原因及解决方法...
  11. ACM篇:Uva -- 253 Cude Painting
  12. 商品订单(增删改查):新增订单;批量删除,发货;模糊查询,下拉菜单内容过滤(含时间);全选反选,列名排序
  13. 数字信号处理的典型应用
  14. websphere9静默式安装文档(简易版)
  15. 洛谷 B2006 地球人口承载力估计
  16. 福特汉姆大学计算机科学专业,福特汉姆大学计算机研究生
  17. 在vue.config.js下配置别名alias
  18. git 暂存的代码命令
  19. 了解如何通过 UltraEdit丨UEStudio 中的窗口停靠系统显示、控制和配置文件选项卡
  20. 数据结构——关键路径AOV(图)

热门文章

  1. 实习小白::(转) Cocos2d-x 3.0开发(五)关联程序逻辑与cocoStudio导出文件
  2. Eclipse 安装插件(aptana、svn 、git、Java EE、JSHint)
  3. J2EE中使用jstl报http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar错...
  4. iOS开发之自定义View
  5. diff与patch命令
  6. 【机器学习】梯度提升树(GBDT)的原理小结
  7. MATLAB信号处理之常用信号的表示
  8. 3天html自学教程,html自学教程(八)html5基础
  9. java8中-_java8中的Stream
  10. php背景,php图片背景填充实例