android 调用前摄像头进行拍照的方法及完整例子

android中前后置camera,Android M camera 前置与后置(Front/Back)识别 0,Camera的前置与后置的确定,比较主流的是通过CameraInfo这个类里面的变量来指示的。CameraInfo是Camera.java(frameworks/base/core/java/android/hardware/)的内部类,里面有变量来标志前置与后置:很简单,与screen face front是前置,相反为后置。APP可以通过Camera这个类来处理获取back/front,但... 阅读详情

android调用camera时,可以自己写一个activity,赋上相关参数,打开前camera就可以了;


需要申请的permission,在AndroidManifest.xml中添加:

        <uses-permission android:name="android.permission.CAMERA" />
	<uses-feature android:name="android.hardware.camera" android:required="false" />
	<uses-feature android:name="android.hardware.camera.front" android:required="false" />
	<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

主要功能,打开前camera

	private Camera openFrontFacingCameraGingerbread() {
	    int cameraCount = 0;
	    Camera cam = null;
	    Camera.CameraInfo cameraInfo = new Camera.CameraInfo();
	    cameraCount = Camera.getNumberOfCameras();
	    
	    for (int camIdx = 0; camIdx < cameraCount; camIdx++) {
	        Camera.getCameraInfo(camIdx, cameraInfo);
	        if (cameraInfo.facing == Camera.CameraInfo.CAMERA_FACING_FRONT) {
	            try {
	                cam = Camera.open(camIdx);
	                mCurrentCamIndex = camIdx;
	            } catch (RuntimeException e) {
	                Log.e(TAG, "Camera failed to open: " + e.getLocalizedMessage());
	            }
	        }
	    }

	    return cam;
	}

根据打开时的横竖屏方向来调整preview角度

	
	//根据横竖屏自动调节preview方向,Starting from API level 14, this method can be called when preview is active.
	private static void setCameraDisplayOrientation(Activity activity,int cameraId, Camera camera) 
	{    
		   Camera.CameraInfo info = new Camera.CameraInfo(); 
	       Camera.getCameraInfo(cameraId, info);      
	       int rotation = activity.getWindowManager().getDefaultDisplay().getRotation();
	       
	       //degrees  the angle that the picture will be rotated clockwise. Valid values are 0, 90, 180, and 270. 
	       //The starting position is 0 (landscape). 
	       int degrees = 0;
	       switch (rotation) 
	       {   
	           case Surface.ROTATION_0: degrees = 0; break;         
	           case Surface.ROTATION_90: degrees = 90; break;    
	           case Surface.ROTATION_180: degrees = 180; break; 
	           case Surface.ROTATION_270: degrees = 270; break;  
	        }      
	       int result;  
	       if (info.facing == Camera.CameraInfo.CAMERA_FACING_FRONT)
	       {        
	           result = (info.orientation + degrees) % 360;     
	           result = (360 - result) % 360;  // compensate the mirror   
	       } 
	       else 
	       {  
	       // back-facing       
	          result = (info.orientation - degrees + 360) % 360;   
	       }     
	       camera.setDisplayOrientation(result);  
	} 


本博文关联的源码下载: http://download.youkuaiyun.com/detail/changliangdoscript/7446287 

Android调用摄像头拍照 阅读详情

相关推荐

Android Camera相机开发示例、Android 开发板 USB摄像头采集、定期拍照、定时拍照,安卓调用摄像头拍照、Android摄像头预览、监控,USB摄像头开发、摄像头监控代码

我们有个需求,在机器上加个摄像头,定时拍照; 我到网上搜索,发现没有快速上手和简单使用的; 个人感觉,大部分博客写得很乱,或者长篇大论; 而我只想简单实现功能,并不打算学习多少理论; 下面代码是我写来测试的,大家有需要可以参考; 能快速看到效果,实际使用可在这个基础上扩展。 先看下我使用的硬件,Android板和摄像头,如图: 首先我想说一下SurfaceView这个东西,这个是你希望在界面上看到摄像头拍到的内容(就是所谓“预览”)时才需要,如果你不需要预览可以不用它,不用...

EnVon的专栏 1765

camera相机的一些坑

adb shell pm list features 命令查看设备相机 android.hardware.camera 应用使用设备的后置相机。只有前置相机的设备不会列出该功能,因此如果您的应用可与任何朝向的相机通信,请改用 android.hardware.camera.any 功能。 android.hardware.camera.any 应用使用设备的其中一个相机或用户为设备连接的外置相机。 如果您的应用不要求相机必须是后置式,请使用此值来替代 android.hardware.camera。 .

1459

Android相机应用:自动选择前置摄像头进行拍照

在这个活动中,我们将获取设备的相机实例,并设置前置摄像头作为默认选项。首先,我们需要在AndroidManifest.xml文件中添加相机权限的声明,以便应用程序可以使用设备的相机功能。通过以上步骤,我们完成了一个简单的Android相机应用,并将前置摄像头设置为默认选项。在上述示例中,我们使用SurfaceView来显示相机预览,并通过SurfaceHolder来管理SurfaceView的生命周期。方法中,我们打开前置摄像头,并将其设置为默认选项。方法中,我们处理相机预览发生变化的情况。

CyberJolt的博客 601

AndroidCamera使用

一个快速的方法来拍照或录像就是使用一个意图来调用Android手机上的相机应用程序来拍照或摄像。 使用相机意图需要通过以下步骤: 1. 创建一个意图,请求图像或视频: MediaStore.ACTION_IMAGE_CAPTURE :拍摄照片的意图。 MediaStore.ACTION_VIDEO_CAPTURE :录像的意图。 2. 使用startactivityforresult()方法执行相机的意图。 3. 建立一个onactivityresult()方法,这个方法可以在当用户拍摄完一张照片或一段视频

且听真言 3459

Android相机应用:默认使用前置摄像头拍照

在Android应用程序中,相机功能是一个常见的需求。本文将介绍如何在Android应用中实现默认使用前置摄像头进行拍照的功能。这样,我们就完成了默认使用前置摄像头拍照的功能。当应用启动时,它会自动打开前置摄像头,并在TextureView中显示相机的预览。首先,确保你的Android项目已经添加了Camera2 API的依赖项。接下来,我们需要在AndroidManifest.xml文件中添加相机权限。接下来,我们需要实现一些辅助方法。Android相机应用:默认使用前置摄像头拍照。

DevCyberX的博客 1254

【android开发-21】android中调用系统摄像头camera拍照和相册的用法详解

android中调用系统camera和相册的用法参考代码

jiangchaobing_2017的博客 2663

如何利用安卓调用摄像头

安卓调用摄像头如何调用摄像头拍照创建布局文件主函数方法 如何调用摄像头拍照 创建布局文件 以为每次找优快云 总是找不到全部的代码,所以我就直接全部粘贴下来了 // 创建布局文件 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/...

湖中舟子的博客 9252

在 Windows 上安装 OpenCV – C++ / Python

而且,安装并不是一件容易的事。这些安装程序仅适用于安装 OpenCV for C++。如果您想安装适用于 Python 的 OpenCV,您将在博客后面找到相关信息。在这篇博文中,我们将在 Windows 上安装适用于 C++ 和 Python 的 OpenCV。C++ 安装是在自定义安装 exe 文件的帮助下完成的。而Python的安装是通过Anaconda完成的。从源代码安装 OpenCV 需要花费大量时间。根据您的硬件和安装配置,该过程可能需要 5 分钟到 2 小时不等。

Demondai999的博客 2092

Android 调用手机摄像头拍照并显示在当前界面

Android 调用手机摄像头拍照并显示在当前界面 第一步:安卓界面布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.co

Scxioi0的博客 2205

【AI开源】Understand-Anything 完整使用教程(2026最新版)

Understand-Anything是一款基于交互式知识图谱的AI学习与开发平台,能够将代码库转化为可视化知识结构,支持语义搜索、上下文问答和全流程开发。核心功能包括代码知识图谱化、AI辅助学习和多编码代理集成。支持TypeScript/JavaScript、Python等多种语言,要求Node.js 20+和16GB以上内存。提供NPM、Docker和源码三种安装方式,支持增量更新和团队知识共享。与同类产品相比,在交互式图谱、语义搜索和AI集成方面更具优势。适用于代码学习、大型项目维护和团队协作等场景。

与时俱进,开放共享 7232

地震数据可视化必备:5分钟读懂SEGY道头字段全解析(含坐标定位指南)

本文深入解析了SEGY文件格式中道头坐标字段的提取与可视化方法。针对地震数据处理中的常见痛点,详细介绍了sx/sy、gx/gy等关键坐标字段的二进制解析、比例因子应用、单位转换及常见问题解决方案,并提供了实用的Python代码示例,帮助开发者实现从SEGY文件到三维空间可视化的完整流程。

echo99的专栏 1014

Android 调用摄像头拍照

很多应用程序都可能会使用到调用摄像头拍照的功能,比如说程序里需要上传一张图片作为用户的头像,这时打开摄像头拍张照是最简单快捷的。下面就让我们通过一个例子来学习一下,如何才能在应用程序里调用手机的摄像头进行拍照。新建一个ChoosePicTest项目,然后修改activity_main.xml中的代码,如下所示:&lt;LinearLayout xmlns:android="http://schem...

油焖茄子 的博客 3170

黑猫带你学eMMC协议第2篇:eMMC部分相关名词释义

1 前言 1.1 声明 本文依据eMMC JEDEC5.1、网络资料及个人工作经验整理而成,如有错误请留言。 本文结合eMMC JEDEC5.1协议手册查看效果更佳。 1.2 本文背景 本文关键词不包括emmc jedec5.1协议第3章节:《Terms and definitions》内容。关于emmc协议层的关键词,直接查阅spec相关章节即可,清晰明了,此处没必要再列出。 本文为本人工作学习中常听到或常用到关乎于emmc/flash的一些关键词合集,没有固定分类,不需要强行记忆,供查询使用。 1.

黑猫奥利奥的博客 7449

Android Studio | 直接调用系统摄像头拍照并回显、在SurfaceView中实现嵌入拍照并回显

1.直接调用系统摄像头拍照 public class register extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCr...

余弦的鱼塘 5467

面向可扩展的 ABAP CDS:EXTEND VIEW 全面实战与工程化指引

摘要: 本文深入讲解ABAP CDS的EXTEND VIEW功能,帮助开发者在标准或自建模型上安全扩展字段与关联。核心内容包括: 作用:避免直接修改标准CDS,通过轻量扩展添加业务字段和关联,降低维护风险。 语法要点:需定义CDS扩展实体名和Dictionary Append View名,支持添加普通字段、关联,但不允许聚合或修改原有结构。 限制:不能扩展含聚合、UNION的视图,且扩展字段需避免命名冲突。 工程实践:建议使用客户命名空间,区分结构扩展与元数据扩展,并注意功能性变更需通过其他方式实现。 示例

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 397

cherry使用MCP协议Streamable HTTP实践

摘要:Streamable HTTP协议是针对传统HTTP+SSE传输方式的改进方案,解决了连接恢复、服务器资源占用和单向通信等问题。该协议基于普通HTTP实现,支持无状态服务器、纯HTTP服务和多轮对话,同时兼容现有基础设施。通过演示展示了服务端和客户端的配置方法,体现了其灵活性和实用性。MCP(多轮对话协议)作为扩展LLM能力的关键技术,代表着未来交互式AI的发展趋势。

全网120W+关注AI拉呱,专注人工智能以及科技前沿! 563

【安卓】调用摄像头和相册

新建一个CameraAlbumTest项目,然后修改activity_main.xml中的代码。此时运行程序会报一个错:Unable to decode stream: java.io.FileNotFoundException,没查到错是什么原因导致的,但是有解决方法。在res文件下找到xml目录(如果没有在res目录下新建目录)新建file,取名file_paths.xml。external-path就是用来指定Uri共享路径的,name属性的值可以随便填,path属性的值表示共享的具体路径。

君子慎独,不欺暗室。卑以自牧,含章可贞。 2025

【GlobalMapper精品教程】084:tif(tfw)、jpg(jgw)、png(pgw)的区别与联系

摘要:本文介绍了TFW、JGW、PGW等地理参考文件的基本原理和应用。这些文件通过简单的文本格式存储栅格图像的地理坐标信息,适用于平面坐标系下的GIS数据处理。文章详细说明了文件各行的含义,并提供了在ArcGIS和Globalmapper中生成这些文件的具体操作步骤,包括导出TIFF、JPG、PNG格式时勾选生成对应坐标文件的选项。这些文件虽然简单易用,但仅适用于平面坐标系,且功能相对有限。配套视频教程提供了更详细的操作演示。

智慧空间实验室 2403

android 调用摄像头自动拍照 并上传到YEELINK

前几天看到yeelink这个网站很感兴趣,就想着写个程序调用安卓

tom3a的专栏 4711

Flink Web UI 如何使用和调试保姆级教程(持续更新)

Running Jobs(运行中的作业):显示正在运行的所有 Flink 作业的列表。每个作业都有一个独特的 Job ID,可以点击进入查看作业的详细信息。Completed Jobs(已完成的作业):显示已经完成或取消的作业列表。:显示当前集群中所有 TaskManager 的健康状态,包括 CPU 使用率、内存使用情况、Slot 数量等。Job Manager Configuration(JobManager 配置):显示 JobManager 的一些配置参数,帮助调试和优化 Flink 集群。

大模型大数据攻城狮的专栏 3993

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

安卓调用摄像头拍照

安卓调用摄像头拍照 本节所涉及到的新单词: External[一克s'特罗] 外部的 Environment [印'歪仁闷特] 环境 storage [s'托瑞几] 贮存 emulated ['e母优特得] 仿真 capture ['凯拍切] 捕获 build [bild] 构建 version [‘喂儿忍] 版本 第一步:新建一个布局 <?xml ...

jintingbo的专栏 535

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Android调用摄像头拍照并显示照片

1、先写xml界面代码如下:   &lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout...

MagicMHD的博客 9134

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

adb 前摄像头 调用_android: 调用摄像头拍照

intent.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);startActivityForResult(intent,CROP_PHOTO); //启动裁剪程序}break;case CROP_PHOTO:if (resultCode == RESULT_OK) {try {Bitmap bitmap = BitmapFactory.decodeStre...

weixin_33181159的博客 2591

Android WebView调用摄像头录像拍照处理

最近和三方公司H5某些业务进行对接,本来说的是直接用WebView加载这个H5界面就完事了,后面才发现他们的需求不止于此…项目写完了,那边才说需要调用摄像头进行识别拍照等等,然而我这边不处理的话webview是无法调用摄像头的. 开始说问题: 1.权限,我这里用到的: &lt;uses-permission android:name="android.permission.CAMERA" /&gt...

Bryent_Chen的博客 1万+

Android中实现调用摄像头拍照并显示在ImageView中

场景 点击拍照按钮调用系统摄像机进行拍照,并将拍的照片显示在ImageView中。 注: 博客:https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 新建一个Activity,设计其布局如下 布局xml文件为 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http..

BADAO_LIUMANG_QIZHI的博客 2170
上一篇: gitHub使用SVN commit时报错 “svn mkcol not allowed”
下一篇: 解决android.os.NetworkOnMainThreadException
勤奋专注
博客等级 码龄19年 80粉丝 69原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值