用IHardwareService直接控制
Android1.5以前是直接提供这个接口的,之后呢,需要我们自己来做一下。
在你的项目中新建一个包Android.os,新建一个IHardwareService.aidl文件,内容如下:
-
packageAndroid.os;
-
-
-
interfaceIHardwareService
- {
-
booleangetFlashlightEnabled();
-
voidsetFlashlightEnabled(booleanon);
- }
然后在你的程序中引入
-
importAndroid.os.IHardwareService;
-
-
-
-
-
-
-
privatevoidsetFlashlightEnabled(booleanisEnable)
- {
- try
- {
- Methodmethod=Class.forName("Android.os.ServiceManager").getMethod("getService",String.class);
- IBinderbinder=(IBinder)method.invoke(null,newObject[]{"hardware"});
-
- IHardwareServicelocalhardwareservice=IHardwareService.Stub.asInterface(binder);
- localhardwareservice.setFlashlightEnabled(isEnable);
- }
-
catch(Exceptione)
- {
- e.printStackTrace();
- }
-
- }
这样就可以开启闪光灯了。要使用的权限:
-
<uses-permissionAndroid:name="android.permission.FLASHLIGHT"/>
-
<uses-permissionAndroid:name="android.permission.HARDWARE_TEST"/>
-
三、用照相机来控制闪光灯
这是思维的另一个方向。Camera自带丰富的接口与Parameters,我们只管拿来使用就好了。
-
privateCameracamera=null;
-
privateParametersparameters=null;
-
- camera=Camera.open();
- parameters=camera.getParameters();
- parameters.setFlashMode(Parameters.FLASH_MODE_TORCH);
- camera.setParameters(parameters);
-
- parameters.setFlashMode(Parameters.FLASH_MODE_OFF);
- camera.setParameters(parameters);
- camera.release();
如果这样遇到问题的话,可以尝试用camera的preview方法:
-
privatevoidOpenLightOn(){
-
if(null==m_Camera)
- {
- m_Camera=Camera.open();
- }
-
- Camera.Parametersparameters=m_Camera.getParameters();
- parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
- m_Camera.setParameters(parameters);
- m_Camera.autoFocus(newCamera.AutoFocusCallback(){
-
publicvoidonAutoFocus(booleansuccess,Cameracamera){
- }
- });
- m_Camera.startPreview();
- }
-
-
privatevoidCloseLightOff(){
-
if(m_Camera!=null)
- {
- m_Camera.stopPreview();
- m_Camera.release();
- m_Camera=null;
- }
- }
分享到:
相关推荐
初学Android用,学习调用Camera类,能安装到手机的APK文件在bin目录下,三星手机测试通过(未必能打开所有手机的闪光灯),运行在Android2.2及以上。(测试员:润德)
调用手机闪光灯,实现手电功能,非常简单实用。
开发一款控制手机闪光灯,定时发送01数据的APPdemo
控制手机闪光灯定时闪烁,并兼容android6.0以后的版本。
该软件主要用于测试安卓手机闪光灯寿命,每隔4S闪亮0.4S,可同时记录闪亮次数和测试时间。
奥地利微电子LED驱动芯片提高手机闪光灯亮度.pdf
为了得到高质量的相片,选择适当的闪光灯非常重要。 闪光灯类型 现有的闪光灯主要有两种:发光二极管(LED)和氙灯。以下是它们用作闪光灯的简单操作和性能。 氙灯的工作原理 氙灯是充满氙气的柱状灯管,其...
本软件适用带有闪光灯的手机。 是通过调用手机的闪光灯来实现照明的效果。 软件功能单一,除了照明没有其他的功能,占用内存小,遵照简洁、实用、极端单一的原则。 不过得需要安装在手机上调用闪光灯才能看出效果,...
一个简单的打开闪光灯的应用,供学习使用 有背景图和图标
闪光灯手电筒软件源码.zip
安卓手机与Arduino之间采用蓝牙串口通讯,Arduino的串口,print()和println()函数都是用ASCII字符的方式传送数据,无论是int、float还是string,都自动转换成ASCII码传送。其中println()函数在传送的数据后面加了...
带闪光灯的二维码源码.zip
安卓手电筒,闪光灯闪烁效果
简单的调用了Android手机自带的闪光灯,并保持常量,充当手电筒使用
控制电子制作的闪光灯,在来电时会想电子制作模块发送数据,模块接收到数据后有闪光灯效果
Android 开发应用源码 参考学习使用
为了得到高质量的相片,选择适当的闪光灯非常重要。 闪光灯类型 现有的闪光灯主要有两种:发光二极管(LED)和氙灯。以下是它们用作闪光灯的简单操作和性能。 氙灯的工作原理 氙灯是充满氙气的柱状灯管,其...
为获得更好的图像效果,手机相机的闪光灯功能也变得越来越重要。 目前的手机相机主要采用 LED闪光灯。闪灯用的LED只需要3.5~4.5V直流电压、120~250mA电流就可以发出2000~7500mcd的高亮度光。LED低压闪光灯电路...
亲测可用。当打开软件时,手机的闪光灯也会自动打开,将手指放在摄像头上时,可以将用户的心跳条形图和心率数值显示出来。
Android中使用闪光灯作为手电筒的简单实现,详细了解请移步:http://blog.csdn.net/zxc514257857/article/details/72581325