对于手机闪光灯,不同的设备会有一些区别。

三星特别喜欢为APP开发者搞点复杂的东西,在Galaxy Tab平板中,你应该这样:

Camera cam;

void ledon() {

cam = Camera.open();

Parameters params = cam.getParameters();

params.setFlashMode(Parameters.FLASH_MODE_ON);

cam.setParameters(params);

cam.startPreview();

cam.autoFocus(new AutoFocusCallback() {

public void onAutoFocus(boolean success, Camera camera) {

}

});

}

void ledoff() {

cam.stopPreview();

cam.release();

}

如果这不起作用,可能是在startPreview之后进行FLASH_MODE_OFF初始化设置的问题。

我通过下面的方法,使其可以在多种手机上工作:

String manuName = android.os.Build.MANUFACTURER.toLowerCase();

Camera mCamera;

下面的代码演示了,如何打开和关闭灯光:

private void processOnClick() {

if (manuName.contains("motorola")) {

DroidLED led;

try {

led = new DroidLED();

led.enable(true);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

} else {

if (mCamera == null) {

try {

mCamera = Camera.open();

} catch (Exception e) {

e.printStackTrace();

}

}

if (mCamera != null) {

final Parameters params = mCamera.getParameters();

List flashModes = params.getSupportedFlashModes();

if (flashModes == null) {

return;

} else {

if (count == 0) {

params.setFlashMode(Parameters.FLASH_MODE_OFF);

mCamera.setParameters(params);

mCamera.startPreview();

}

String flashMode = params.getFlashMode();

if (!Parameters.FLASH_MODE_TORCH.equals(flashMode)) {

if (flashModes.contains(Parameters.FLASH_MODE_TORCH)) {

params.setFlashMode(Parameters.FLASH_MODE_TORCH);

mCamera.setParameters(params);

} else {

// Toast.makeText(this,

// "Flash mode (torch) not supported",Toast.LENGTH_LONG).show();

params.setFlashMode(Parameters.FLASH_MODE_ON);

mCamera.setParameters(params);

try {

mCamera.autoFocus(new AutoFocusCallback() {

public void onAutoFocus(boolean success, Camera camera) {

count = 1;

}

});

} catch (Exception e) {

e.printStackTrace();

}

}

}

}

}

}

if (mCamera == null) {

return;

}

}

private void processOffClick() {

if (manuName.contains("motorola")) {

DroidLED led;

try {

led = new DroidLED();

led.enable(false);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

} else {

if (mCamera != null) {

count = 0;

mCamera.stopPreview();

}

}

}

下面是 DroidLED 类:

class DroidLED {

private Object svc = null;

private Method getFlashlightEnabled = null;

private Method setFlashlightEnabled = null;

@SuppressWarnings("unchecked")

public DroidLED() throws Exception {

try {

// call ServiceManager.getService("hardware") to get an IBinder for the service.

// this appears to be totally undocumented and not exposed in the SDK whatsoever.

Class sm = Class.forName("android.os.ServiceManager");

Object hwBinder = sm.getMethod("getService", String.class).invoke(null, "hardware");

// get the hardware service stub. this seems to just get us one step closer to the proxy

Class hwsstub = Class.forName("android.os.IHardwareService$Stub");

Method asInterface = hwsstub.getMethod("asInterface", android.os.IBinder.class);

svc = asInterface.invoke(null, (IBinder) hwBinder);

// grab the class (android.os.IHardwareService$Stub$Proxy) so we can reflect on its methods

Class proxy = svc.getClass();

// save methods

getFlashlightEnabled = proxy.getMethod("getFlashlightEnabled");

setFlashlightEnabled = proxy.getMethod("setFlashlightEnabled", boolean.class);

}

catch(Exception e) {

throw new Exception("LED could not be initialized");

}

}

public boolean isEnabled() {

try {

return getFlashlightEnabled.invoke(svc).equals(true);

}

catch(Exception e) {

return false;

}

}

public void enable(boolean tf) {

try {

setFlashlightEnabled.invoke(svc, tf);

}

catch(Exception e) {}

}

}

在AndroidManifest.xml中必须设置下列权限:

jquery 访问手机摄像头_Android手机摄像头闪光灯编程(做个小手电)相关推荐

  1. java手机解锁_Android手机屏幕敲击解锁功能代码

    1.前言 现在市面上有不少Android手机支持敲击屏幕解锁,敲击屏幕解锁是一项很实用的功能,但一来只支持敲击屏幕,二来只能用于解锁或锁屏,再者我们应用层的开发者切不进去,完全无法玩起来.开发者,开发 ...

  2. vue3+jsQr实现手机浏览器调用本地摄像头扫描并识别二维码

    最近做的项目有个需求是在手机端打开页面,登录之后能在手机上扫描二维码并根据扫描的结果去查询班级情况.别的功能就不说了,移动端扫描二维码这个以前没做过,所以在这里记录一下. 项目用到的技术栈: Vue ...

  3. 测试:将手机摄像头用作网络摄像头的拍摄效果

    我在手机上测试了一些虚拟网络摄像头软件. 作者 / Chris Kranky 原文链接 / https://www.chriskranky.com/using-your-mobile-camera-a ...

  4. 为什么现在的手机用4个摄像头?越来越难看。就不能只用一个摄像头吗?

    手机上的每颗摄像头都有其相应的作用,日常拍拍风景.食物.二维码之类的,一颗普通的主摄足矣,但对于手机拍摄的功能性和可玩性上来看,手机使用3颗.4颗甚至5颗摄像头还是很有必要的. 举个例子 拿华为手机为 ...

  5. 【JS】【19】使用Jquery判断是电脑或手机或微信浏览器访问

    正文: //检测平台 var p = navigator.platform;system.win = p.indexOf("Win") == 0;system.mac = p.in ...

  6. 电脑用摄像头 质量不错的几个型号 旧手机接电脑当摄像头 iriun webcam

    旧手机接电脑当摄像头 iriun webcam 罗技 c920 c930 CRIO 小黄鱼 800左右 4k 带美颜功能,据说很多主播用 宝利通 polycom 亿联 海康威视 参考 https:// ...

  7. 手机访问电脑文件_手机直接访问电脑文件,不用数据线,方便快速

    手机和电脑之间文件的交互办法有很多种,最简单的就是用数据线来进行文件的传输,或者用其它软件来实现文件面对面的交流.不过这些方法都有一些使用上的限制,不太方便.关注公众号 三角架创业支撑 获取更多资讯 ...

  8. 怎么制作手机网站?如何建一个wap手机网站?所谓手机网站指手机能访问的网站,现在手机浏览器对html...

    所谓手机网站指手机能访问的网站,现在手机浏览器对html5支持了,打开电脑站是没问题的,但体验就不咋的了.随着网站建设的发展,对于网站建设形式上有了很大的变化和创新,从根据不同行业如企业.集团.门户. ...

  9. 蚂蚁分类信息系统PC手机网址自适应,网页自适应移动端及根据访问设备自动识别展示手机站或PC站

    蚂蚁分类信息系统PC手机网址自适应,网页自适应移动端及根据访问设备自动识别展示手机站或PC站 本实现方法仅适用于nginx环境,主要是使用 Nginx 内置 $http_user_agent 变量来区 ...

最新文章

  1. 【原创】新手入门一篇就够:从零开发移动端IM
  2. OpenCV:使用git和cmake安装Tesserac
  3. SAP Cloud Platform创建Destination时Additional properties属性的维护
  4. C语言 | 函数执行成功时,return 1 还是return 0?
  5. 早上起来CSDN的PC端主页积分变成了0
  6. 【JEECG Dubbo专题】jeecg-p3集成dubbo文档
  7. 三级菜单 ajax 已经测试成功
  8. Anchor-free新思路,统一目标检测、实例分割、姿态估计三种任务
  9. 可以多次使用同一个hbitmap吗_求婚钻戒和结婚钻戒可以是同一个吗?意义戴法各不同,别胡乱混淆...
  10. C代码编译过程,cmakelist基础步骤
  11. python3.8安装pygame_Python3.8安装Pygame很难?新萌也能轻松搞定安装并运行游戏
  12. CANOE使用八:自动化测试OSEK网络管理(创建TestModule-搭配Panel界面及使用Capl识别配置文件TXT的自动化测试流程)
  13. 硬件安全模块- HSM
  14. 计算机英语解读,解释计算机Windows的学习英语
  15. 使用CSS绘制一个平行四边形
  16. 计算机组装要哪些硬件,电脑配件,小编教你电脑组装需要哪些配件
  17. 如何提高电商广告投放的转化率?
  18. 简单数据类型的转换和条件控制语句(if else)的使用
  19. php 8bit 10bit 解码,求助:我想把10bit的MKV压制成8bitMP4
  20. ubuntu 18.04+GTX30系列显卡+TensorFlow-gpu1.15

热门文章

  1. 风力发电系统全国产化电子元件推荐方案
  2. typescript往window挂载属性
  3. Ubuntu16.04下多版本pip共存
  4. 独角兽迎来上市高潮,Pinterest是下一个Lyft还是instagram?
  5. 为啥加了时分秒就不能解析了呢?
  6. 关于WiFi DFS和WiFi自适应的介绍
  7. 数字信号处理(DTFT与DFT、DFS的详细讲解以及FFT算法)
  8. 名词理解| Identifiability可识别性
  9. 小鼠植入前胚胎的可接近染色质图谱
  10. 河北对口计算机专科学校排名及分数线,高考志愿填报 2017-2018河北专科学校排名及分数线...