1、main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent" ><SurfaceView android:id="@+id/surfaceview"android:layout_width="fill_parent"android:layout_height="fill_parent"/><LinearLayout android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_alignParentBottom="true"android:layout_alignParentRight="true"android:orientation="horizontal"><Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="对焦"android:onClick="focus"android:layout_marginRight="10dp"/><Button android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="拍照"android:onClick="takepicture"android:layout_marginRight="10dp"/></LinearLayout>
</RelativeLayout>

2、MainActivity

package com.njupt.takepicture1;import java.io.File;
import java.io.FileOutputStream;import android.hardware.Camera;
import android.hardware.Camera.Parameters;
import android.hardware.Camera.PictureCallback;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.view.Menu;
import android.view.SurfaceHolder;
import android.view.SurfaceHolder.Callback;
import android.view.SurfaceView;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;public class MainActivity extends Activity {private SurfaceView surfaceview;private Camera camera;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);requestWindowFeature(Window.FEATURE_NO_TITLE);setContentView(R.layout.main);getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);surfaceview = (SurfaceView) findViewById(R.id.surfaceview);SurfaceHolder holder = surfaceview.getHolder();holder.setFixedSize(176, 144);holder.setKeepScreenOn(true);holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);holder.addCallback(new MySurfaceCallback());}private class MySurfaceCallback implements Callback {@Overridepublic void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {// TODO Auto-generated method stub}@Overridepublic void surfaceCreated(SurfaceHolder holder) {try {camera = Camera.open();Parameters params = camera.getParameters();params.setJpegQuality(90);params.setPictureSize(1024, 768);params.setPreviewFrameRate(10);camera.setParameters(params);camera.setPreviewDisplay(surfaceview.getHolder());camera.startPreview();} catch (Exception e) {e.printStackTrace();}}@Overridepublic void surfaceDestroyed(SurfaceHolder holder) {if (camera != null) {camera.release();camera = null;}}}public void takepicture(View v) {camera.takePicture(null, null, new MyPictureCallback());}private class MyPictureCallback implements PictureCallback {@Overridepublic void onPictureTaken(byte[] data, Camera camera) {try {File file = new File(Environment.getExternalStorageDirectory(),System.currentTimeMillis() + ".jpg");FileOutputStream fos = new FileOutputStream(file);fos.write(data);camera.startPreview();} catch (Exception e) {e.printStackTrace();}}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}

3、AndroidManifest.xml

注册权限

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

横屏显示:

<activityandroid:name="com.njupt.takepicture1.MainActivity"android:label="@string/app_name" android:screenOrientation="landscape">

手机拍照功能的简单实现相关推荐

  1. html实现照片添加功能,HTML5 Canvas调用手机拍照功能实现图片上传功能(图文详解上篇)...

    这篇文章主要为大家详细介绍了HTML5 Canvas,和jquery技术,调用手机拍照功能实现图片上传,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 因为最近一段时间,一直在弄微信项目,其中涉及到 ...

  2. 安卓开发:使用手机拍照功能

    概述 在安卓开发过程中,使用手机拍照功能的核心代码其实非常简单,仅仅只是一句呼唤系统Intent而已: Intent intent = new Intent("android.media.a ...

  3. C#摄像头实现拍照功能的简单代码示例

    C#摄像头实现拍照功能的简单代码示例 2009-11-20  来自:网上整理字体大小:[大中小] ·摘要:这里将介绍一个C#摄像头实现拍照功能的简单代码示例,代码虽然不短,但是基本上实现了相对应的功能 ...

  4. java 手机信息管理系统照相功能_Android实现手机拍照功能

    本文实例为大家讲解如何轻松实现Android手机拍照功能,分享给大家供大家参考.具体如下: 一.布局文件main.xml android:layout_width="fill_parent& ...

  5. java如何调用手机拍照功能_手把手教你如何实现拍照功能

    实现手机拍照功能,纯JS书写 First: 先上图为主,再做详细讲解: 需要注意的是这里的摄像头是主要是通过浏览器中的一个叫做Navigator属性在JS代码运行时打开页面自动开启 不明白?直接上代码 ...

  6. 原生js调用手机拍照功能

    原生js调用手机拍照功能 此功能主要用于混合App开发时手机拍照上传图片的功能! 话不多说直接上代码! 注:此代码在浏览器中运行时会报错,必须打开调试功能在手机上运行才可以! // html部分 // ...

  7. h5调起手机拍照功能

    最近做了h5调起手机拍照功能,记录一下 <img width="149" height="149" alt="" onclick=&q ...

  8. android 小米拍照功能,iQOO和小米9到底拍照谁更强之iQOO手机拍照功能详细评测

    iQOO和小米9到底拍照谁更强之iQOO手机拍照功能详细评测 2019-04-02 10:51:35 8点赞 13收藏 20评论 iQOO作为vivo子品牌一上市就以超强配置和超高性价比引爆市场,作为 ...

  9. Android开发之手机拍照功能的实现(源代码分享)

    Android系统里调用手机拍照的功能有两种方法一种直接调用手机自带的相机另一种就是使用自己做的拍照应用.比如Camera360 一款于各操作系统都有的的功能强大的手机摄影软件:能拍摄出不同风格,不同 ...

最新文章

  1. 1.5 为什么正则化有利于预防过拟合-深度学习第二课《改善深层神经网络》-Stanford吴恩达教授
  2. button按钮跳转JS代码
  3. JQuery Tree 树形结构插件 zTree
  4. 成功必读本:培养人脉的106个技巧
  5. 李宏毅机器学习(五)Transformer
  6. 泛型字典 0104 c# 1613648530
  7. 常用Java API 熟悉 方法 从记不得到忘不掉 java1.8.61为例
  8. public protected private
  9. KMP算法(C++版)
  10. Redis源码分析系列三:initServerConfig下半部分
  11. 2580 php to yuan,PHP版汉字转拼音类-ASCII版本 | 学步园
  12. 高会职称计算机课程,2017高会《职称计算机》模块精讲:Windows Media Player(一)...
  13. 数据库索引与视图实验
  14. CRC32绕过RAR密码
  15. java add方法怎么用_Java ArrayList add() 方法
  16. html 通知页面,12款体验不错的网站提示/通知样式
  17. android 帧动画监听,Android 动画(View动画,帧动画,属性动画)详细介绍
  18. 【上海居转户申请流程及材料清单|干货分享】
  19. 简单,但是实际的抗锯齿介绍
  20. linux禁用用户账号,linux 如何禁用账号和解除禁用账号

热门文章

  1. Windows XP环境下Apache2.2.21和Tomcat7.0.26下的整合
  2. 一位程序员的奋斗历程!------转载
  3. UA MATH567 高维统计IV Lipschitz组合8 随机投影与John-Lindenstrauss引理
  4. UA MATH567 高维统计I 概率不等式12 McDiarmid不等式
  5. CSS导航栏实例详解
  6. 图解PE文件实例研究
  7. 移动设备的配置测试(译)
  8. How Tomcat Works(八)
  9. Win7中开启Telnet命令
  10. linux tar命令 打包 解压