本篇给大家带来的是拍照回传的初级使用,用的同样是数据回传的方式,首先 startActivityForResult 确定 Action、requestCode,之后重写 onActivityResult 进行逻辑操作,拍照的照片回传,一般都与选取相册内照片的回传一起使用!

回想这张 gif 图 ,还是我当年新手时期做的效果,晃眼之间竟然过了这么多年,甚是感叹...

关联文章

  • Android基础进阶 - 调用拍照、获取图片(基础)
  • Android基础进阶 - 获取、调用相册内图片(基础)
  • Android进阶之路 - 拍照、相册选图
  • Android进阶之路 - 解决部分手机拍照之后图片被旋转的问题
  • Android进阶之路 - Uri、Path、File、Bitmap 转换方式

当年并未适配 Android 6.0、Android 7.0 及以后版本 ,如果直接copy的话,记得做权限适配 ~

实现效果

AndroidMainfest 添加权限

<uses-permission android:name="android.permission.CAMERA"/>

MainActivity

package com.example.dow.camerapicture;import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.os.Build;
import android.provider.MediaStore;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;public class MainActivity extends AppCompatActivity {private TextView mBtn;private ImageView mImage;private int TAKE_PHOTO=0;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//Layout处理initView();//事件处理initEvent();}private void initView() {mBtn = (TextView) findViewById(R.id.picture_button);mImage = (ImageView) findViewById(R.id.image_picture);}private void initEvent() {mBtn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {startActivityForResult(new Intent(MediaStore.ACTION_IMAGE_CAPTURE),520);}});}@Overrideprotected void onActivityResult(int requestCode, int resultCode, Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode==520){Bundle bundle = data.getExtras();Bitmap bitmap = (Bitmap)bundle.get("data");Log.e("tag","内存太小="+getBitmapSize(bitmap));mImage.setImageBitmap(bitmap);}}//这是一个查看图片大小的,我之后可能进行压缩,或许大家之后也会用到,就贴在这里public int getBitmapSize(Bitmap bitmap){if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){return bitmap.getAllocationByteCount();} else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1){return bitmap.getByteCount();} else {return bitmap.getRowBytes() * bitmap.getHeight();}}
}

activity_main

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/activity_main"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"tools:context="com.example.dow.camerapicture.MainActivity"><TextViewandroid:id="@+id/picture_button"android:layout_width="match_parent"android:padding="5dp"android:gravity="center"android:layout_height="wrap_content"android:text="拍照" /><Viewandroid:layout_width="match_parent"android:layout_height="2dp"android:background="#ff0"/><ImageViewandroid:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:id="@+id/image_picture"/>
</LinearLayout>

Android基础进阶 - 调用拍照、获取图片相关推荐

  1. Android打开相册vs拍照获取图片的原理实现

    前言:这几天在做用户登陆注册的逻辑时,遇到了要修改用户的头像问题的解决.在此把实现的原理以及实现过程中遇到的问题分享个大家...留下些许脚印 在手机的app里我们常常可用看到在个人中心页面有修改头像的 ...

  2. C#快速调用海康威视工业相机的SDK拍照获取图片

    本文章开头会先讲一下如何找到SDK包和demo,功能的实现我会直接用平时常用的DLL以及根据海康威视给的demo封装好的常用功能类,这些都会分享到文末的链接中. 注:halcon虽然有读取相机拍照的功 ...

  3. android解决三星手机拍照获取图片的问题

    最近在项目中用到了拍照获取图片上传的功能.在其它的手机上测试功能正常,但是在我自己用的三星s3上面就出现了问题.这个问题困扰了我好几天.最后发现了一个问题,三星手机在拍照时默认是横屏的,我的应用默认是 ...

  4. Android--使用手机拍照获取图片路径,小米手机选择照片问题处理

    Android开发选取照片问题 本文主要记录使用手机自带相机拍照获取返回照片路径,以及从本地相册选取已有照片时返回Intent data; 数据处理 操作.(小米手机获取照片路径与其他手机不一致问题! ...

  5. Unity for IOS 加载手机相册图片以及打开相机拍照获取图片

    Unity for IOS 加载手机相册图片以及打开相机拍照获取图片 最近想做一个使用unity for IOS获取手机图片的功能,所以就研究了一下 这里我们需要创建两个objective-c文件,最 ...

  6. Android日志[进阶篇]四-获取错误报告

    Android日志[进阶篇]一-使用 Logcat 写入和查看日志 Android日志[进阶篇]二-分析堆栈轨迹(调试和外部堆栈) Android日志[进阶篇]三-Logcat命令行工具 Androi ...

  7. h5调用移动端摄像头实现拍照获取图片

    需求简述:打开移动端相机进行拍照,并且获取图片 效果图 相关代码 <!DOCTYPE html> <html><head><meta charset=&quo ...

  8. android 从相册或相机获取图片并且裁剪 支持android 7.0

    1.在res/xml目录中新建一个file_paths.xml <?xml version="1.0" encoding="utf-8"?> < ...

  9. android 7.0 裁剪,Android 7.0中拍照和图片裁剪适配的问题详解

    前言 Android 7.0系统发布后,拿到能升级的nexus 6P,就开始了7.0的适配.发现在Android 7.0以上,在相机拍照和图片裁剪上,可能会碰到以下一些错误: Process: com ...

最新文章

  1. 苹果 2020 iPhone 展望:相机大升级,5G 首次接入
  2. 从5G入池看AI发展新方向 | 杜克大学陈怡然教授专访
  3. 虚拟机无法上网/连接失败原因及解决方法
  4. VC++中Depends工具的使用和DLL函数的动态调用方式示例
  5. Scikit-Learn 机器学习笔记 -- 线性回归、逻辑回归、softmax回归
  6. java 解析并生成 XML
  7. msk 频偏_一种MSK-Type信号的频率同步改进算法
  8. Git:错误:error:src refspec master does not match any
  9. 吴恩达《机器学习》第六章:逻辑回归
  10. catia需要java插件,catia中的带分析
  11. 修改FTP服务器时长,连接ftp服务器的时长怎么设置
  12. 现代通信技术之SDH技术
  13. 如何将计算机c盘分区,无损调节电脑C盘分区,让C盘空间不再尴尬(超实用)
  14. 5月智能投影市场大涨58%,当贝稳居DLP第一阵营
  15. 2021年流动式起重机司机考试题及流动式起重机司机证考试
  16. 输出亲朋字符串(C语言)
  17. VMware虚拟机对外暴露ip的操作
  18. 【机试备考】Day15-Special数 | 平方数立方数判断
  19. 读书笔记:《敏捷估计与规划》
  20. 经验分享-161分过N1的学习备考经验-送给准备12月考试的你

热门文章

  1. 微信小程序——修改field输入框内文字颜色和背景图透明度调整
  2. 【NOWCODER】- Python:输入输出
  3. smartgit 合并分支操作
  4. fckeditor在.net中的使用
  5. MMA-利用Methematica推导一阶线性微分方程
  6. java 使用注解判断实体类属性值长度
  7. 音乐人工智能先乐后药 它模拟的自主创作会让人瞠目结舌
  8. vue中mousewheel滚动
  9. mousewheel的火狐浏览器兼容
  10. flexible的用法