本文将带你了解Android应用开发android 7自定义相机预览及拍照功能,希望本文对大家学Android有所帮助。

本文实例为大家分享了Android实现摄像头切换,拍照及保存到相册,预览等功能,解决android7拍照之后不能连续预览的问题、参数设置相关问题以及前后摄像头语言颠倒等问题。

import android.Manifest;

import android.app.Activity;

import android.content.Context;

import   android.content.Intent;

import   android.content.pm.PackageManager;

import   android.graphics.Bitmap;

import   android.graphics.BitmapFactory;

import   android.graphics.Matrix;

import   android.graphics.PixelFormat;

import   android.hardware.Camera;

import   android.net.Uri;

import   android.os.Build;

import   android.os.Bundle;

import   android.os.Environment;

import   android.os.Handler;

import   android.support.v4.app.ActivityCompat;

import   android.util.Log;

import android.view.KeyEvent;

import   android.view.SurfaceHolder;

import   android.view.SurfaceView;

import   android.view.View;

import   android.view.WindowManager;

import   android.widget.TextView;

import com.hama.tracker.R;

import java.io.File;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

public class CamaraActivity extends Activity implements View.OnClickListener {

@Bind(R.id.return_back)

TextView   returnBack;

@Bind(R.id.tvswitch_camera)

TextView tvswitchCamera;

//启动摄像机

private Camera mCamera;

public boolean isopen_camara = false;

private SurfaceView surfaceView;

private   SurfaceHolder mholder =   null;

private SurfaceCallback previewCallBack;

private boolean isTakingPhoto;//是否正在拍照

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

verifyPermission(new String[]{Manifest.permission.CAMERA});

//   getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,   WindowManager.LayoutParams.FLAG_FULLSCREEN);

setContentView(R.layout.activity_camara);

ButterKnife.bind(this);

// 预览控件

surfaceView = (SurfaceView) this

.findViewById(R.id.surfaceView);

// 设置参数

surfaceView.getHolder().setKeepScreenOn(true);

surfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);

returnBack.setOnClickListener(this);

tvswitchCamera.setOnClickListener(this);

EventBus.getDefault().register(this);

}

android 自定义相机,Android应用开发之android 7自定义相机预览及拍照功能相关推荐

  1. Android 音视频开发(三) -- Camera2 实现预览、拍照功能

    音视频 系列文章 Android 音视频开发(一) – 使用AudioRecord 录制PCM(录音):AudioTrack播放音频 Android 音视频开发(二) – Camera1 实现预览.拍 ...

  2. Android 音视频开发(二) -- Camera1 实现预览、拍照功能

    音视频 系列文章 Android 音视频开发(一) – 使用AudioRecord 录制PCM(录音):AudioTrack播放音频 Android 音视频开发(二) – Camera1 实现预览.拍 ...

  3. android ndk 多线程mk,NDK开发之Android.mk文件编写

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? 现在我们把android稍微写复杂些.在项目根目录下创建一个lib1文件夹 结构如图: test10.h和test11. ...

  4. android百度地图定位自定义图标,Android应用开发之android 百度地图自定义圆,更改默认图标等常用方法...

    本文将带你了解Android应用开发之android 百度地图自定义圆,更改默认图标等常用方法,希望本文对大家学Android有所帮助. 总结了一下百度地图常用的方法(前提是集成百度地图环境成功): ...

  5. android百度地图画圆,Android应用开发之android 百度地图自定义圆,更改默认图标等常用方法...

    本文将带你了解Android应用开发android 百度地图自定义圆,更改默认图标等常用方法,希望本文对大家学Android有所帮助. 总结了一下百度地图常用的方法(前提是集成百度地图环境成功): 1 ...

  6. android换肤的实现方案,Android应用开发之Android一键换肤功能实现

    本文将带你了解Android应用开发之Android一键换肤功能实现,希望本文对大家学Android有所帮助. < 市面上对数的App都提供换肤功能,这里暂且不讲白天和夜间模式 下图是网易云音乐 ...

  7. android清除缓存 代码,Android应用开发之Android应用清除缓存一般清理目录和代码的教程...

    本文将带你了解Android应用开发Android应用清除缓存一般清理目录和代码的教程,希望本文对大家学Android有所帮助. 一个应用安装完成,会有缓存,缓存一般分为内部存储的和外置的,内存中路径 ...

  8. 3G应用开发之Android 传智播客 基础知识总结

    3G应用开发之Android Android应用开发之3G  3G应用开发之Android 3G应用开发之Android 应用开发之 讲师: 讲师:黎活明 北京传智 播客教育 www.itcast.c ...

  9. android 函数返回string,Android应用开发之android 对话框对于返回值的处理方法

    本文将带你了解Android应用开发之android 对话框对于返回值的处理方法,希望本文对大家学Android有所帮助. android对话框是异步的,因此无法获得其返回值. 例如: 我们给出一个提 ...

  10. android app启动流程分析,Android应用开发之Android 7.0 Launcher3的启动和加载流程分析...

    本文将带你了解Android应用开发Android 7.0 Launcher3的启动和加载流程分析,希望本文对大家学Android有所帮助. Android 7.0 Launcher3的启动和加载流程 ...

最新文章

  1. Java算法练习——正则表达式匹配
  2. python与鸭子类型
  3. 仿QQ6 0侧滑之ViewDragHelper的使用(一)
  4. numpy函数:[6]arange()详解
  5. MinIO存储桶通知指南 ​​​​​​​
  6. myeclipse 8.5 安装jbpm3.2开发插件
  7. 软件测试第一部分——初步概念与过程
  8. 事务方法调用事务方法_实现系统调用的几种方法
  9. cs1.6服务器修改游戏类型,cs1.6联机及游戏模式详细解读
  10. java导出建表语句_由 Java Entity 类自动生成 SQL建表语句
  11. 如何将密切好友的微信聊天记录恢复到自己的微信中
  12. 物联网和边缘部署的5大嵌入式工控机设计要求
  13. Ant 下载安装配置使用教程
  14. 完美解决Win10 X64非原装版系统打不开CHM文件
  15. daphile的dsd设置_小块头有大能量 篇二:JaguarBoard之Daphile HiFi 畅享
  16. 虚拟机VMware安Mac OS时没有Apple mac选项
  17. 淘宝心选在大润发开店了,背后意味着什么?
  18. exp与expdp区别
  19. 软件架构非功能需求——互操作性
  20. 国信证券学习系列(5)

热门文章

  1. VSTT Rosario CTP
  2. 点击场景中的物件无法定位到Hierarchy
  3. @value取不到值_Bamboo window上环境变量 HOMEDRIVE 及 HOMEPATH 获取不到的问题
  4. [ASP.NET MVC 小牛之路]08 - Area 使用
  5. asp.net 页面引入外部JS 在IE6下延迟加载报错,IE7+均没问题
  6. 关于IIS中Request.ServerVariables(SCRIPT_NAME)的bug
  7. 指针的意义和linux的内存回收艺术
  8. 修改Wordpress插件---advanced-access-manager.1.7.3---
  9. 老人为啥怒砸30辆车
  10. 智能实验室-杀马(Defendio) 4.11.0.790