Android 调用系统打开相机,打开相册获取图片路径
我们在开发中经常遇到一些功能需要调取系统相机拍照获取图片,或者有的时候直接打开图库获取图片,那我们怎么获取呢,今天分享下,
第一步,打开相机
public static final int CAMERA = 1025;// 拍照的请求码public static final int ALBUM = 1026;// 选择图片的请求码
/** 设置从相机获取图片,返回图片路径*/public static String getImgFromCamra(Context context) {String state = Environment.getExternalStorageState();File mFolder;String mImgName;// 先检测是不是有内存卡。if (state.equals(Environment.MEDIA_MOUNTED)) {mFolder = new File(Environment.getExternalStorageDirectory(),"bCache");// 判断手机中有没有这个文件夹,没有就新建。if (!mFolder.exists()) {mFolder.mkdirs();}// 自定义图片名字,这里是以毫秒数作为图片名。mImgName = System.currentTimeMillis() + ".jpg";Uri uri = Uri.fromFile(new File(mFolder, mImgName));// 调用系统拍照功能。打开箱机Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");intent.putExtra(MediaStore.EXTRA_OUTPUT, uri);context.startActivityForResult(intent, CAMERA);return mFolder + File.separator + mImgName;} else {Toast.makeText(context, "未检测到SD卡", Toast.LENGTH_SHORT).show();return null;}}
第二步,打开相册
/** 设置从本地相册获取图片*/public static void getImgFromAlbum(Context context) {// 调用本地图库。Intent intent = new Intent(Intent.ACTION_PICK,android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);context.startActivityForResult(intent, ALBUM);}
以上两步我们就是打开系统的相机和相册,打开之后拍照成功,或者选中文件之后怎么接收呢,请看以下:
第三步 调用,获取回调地址
@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.bt_photograph_phone:// 从手机选择UtilView.getImgFromAlbum(PhotoGraph.this);break;case R.id.bt_photograph_paizhao:// 拍照photoLocalPath = UtilView.getImgFromCamra(PhotoGraph.this);break;}}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {switch (requestCode) {case CAMERA:// 拍照if (resultCode == RESULT_OK ) {// 已经获取到图片路径了//photoLocalPath即为路径 已经获取到}break;case ALBUM:// 图库选择if (resultCode == RESULT_OK && data != null) {// 获取本地相册图片。Uri uri = data.getData();}break;}}
注:以上是但图片,多图片选择请点击下方
1.多图片选择 请点击使用Album框架
2.多图片选择 请点击使用PictureSelector框架框架
以上就是我们的使用方法,使用起来还是很简单的,小伙伴们如有不明白的地方,或者是写的不好的地方,欢迎留言
Android 调用系统打开相机,打开相册获取图片路径相关推荐
- Android相机、相册获取图片显示并保存到SD卡
如题,这个需求本不是一个很复杂的过程,但是却存在一些隐患,我也是最近在项目中碰到这个问题,将Android通过相机或相册获取图片并最终显示在界面上做了一个小研究,现将一些结果和附上的一个Demo叙述如 ...
- iOS 从相机或相册获取图片并裁剪
/load user image - (void)UesrImageClicked { UIActionSheet *sheet; // 判断是否支持相机 if([UIImagePickerContr ...
- android相册路径地址,Android拍照和相册获取图片路径
/** *调用系统相机 */ public voidstartCamera() { Intent intent =newIntent(MediaStore.ACTION_IMAGE_CAPTURE); ...
- android跳转到相册需要权限,Android打开相册获取图片路径
一.获得图片路径 当我们通过Intent打开相册,获取图片后,在onActivityResult回调中会得到图片的Uri. 但是Uri无法直接获得图片的路径.如果你曾经直接操作过android里的数据 ...
- Android 相机 或者 相册 获取图片裁剪 适用6.0/7.0
随着Android 的版本更新迭代.本来以前代码很简单的打开相册或者相机 获取图片裁剪 给Unity3D 使用的过程 挺简单的.但是随着 Android 版本的 更新 和 安全 的加强 .有几点 和 ...
- Android调用系统默认打印机并反射获取打印任务状态
Android4.4通过PrintManger调用系统默认打印服务的默认打印机进行打印任务,并通过反射调用PrintManager的getPrintJob方法获取打印任务状态.不说太多,直接上代码.第 ...
- android调用系统播放器后返回的图片旋转了
调用系统拍照后,在某些手机上可能会出现返回的照片旋转了90°/180°的情况,很头疼 使用下面两个工具方法,可以把bitmap方向调整到正确位置 /** * 读取图片属性:旋转的角度 * @param ...
- Android 调用系统原生相机拍照并储存到指定位置
Android 6.0(API 23以下,不包括23)以下,无动态授权模块, 权限: <uses-permission android:name="android.permission ...
- android 调用 系统 相机 摄像机 拍照 拍视频
主要内容如下: 系统现有相机应用的调用 系统现有相机拍摄照片 获取系统现有相机拍摄的图片 系统现有相机拍摄图片Demo 系统现有相机拍摄视频 系统现有相机拍摄视频Demo 系统现有相机应用的调用 对于 ...
最新文章
- 让开源解读“甲骨文”--RHEL5.3部署安装Oracle Database10g Release2
- Linux varnish代理服务器安装以及健康检查
- ZJOI2019 Day2 游记
- OpenvSwitch — 操作实践
- Interview Q A 小明一家5口如何过桥
- Axure中的原型如何导出成为HTML5源码
- 【技术学习】一次Node.js站点渗透
- 现金流量表的编制方法及程序
- 3.递归猴子吃桃问题
- 【PAT甲级 前导0,排序】1069 The Black Hole of Numbers (20 分) C++ 全部AC
- 计算机的组成 —— 耳机与音响
- paip.invalid conversion from FormWdg* to SOCKET {aka unsigned int}
- 直播 | SDCC 2017 人工智能技术实战线上峰会
- 胖大海和罗汉果可以同泡吗
- 解读2018:13家开源框架谁能统一流计算?
- colab 跑 deformable-detr 记录:
- 使用python判断一个数是否为素数
- Android错误提示及解决方案(持续更新)
- 西南大学计算机与信息科学学院奖学金,西南大学“玉辉奖学金”成立暨颁奖仪式顺利举办...
- 【正版软件】激活Windows 7报0xC004F035错误