Android开启闪光灯的几种办法
来源:互联网 发布:网络游戏运营数据挖掘 编辑:程序博客网 时间:2024/05/21 07:31
1、用IHardwareService直接控制
Android1.5以前是直接提供这个接口的,之后呢,需要我们自己来做一下。
在你的项目中新建一个包android.os,新建一个IHardwareService.aidl文件,内容如下:
- <span style="font-size:18px;">package android.os;
- /** {@hide} */
- interface IHardwareService
- {
- // obsolete flashlight support
- boolean getFlashlightEnabled();
- void setFlashlightEnabled(boolean on);
- }</span>
- import android.os.IHardwareService;
- /**
- * 设置闪光灯的开启和关闭
- * @param isEnable
- * @author linc
- * @date 2012-3-18
- */
- private void setFlashlightEnabled(boolean isEnable)
- {
- try
- {
- Method method = Class.forName("android.os.ServiceManager").getMethod("getService", String.class);
- IBinder binder = (IBinder) method.invoke(null, new Object[] { "hardware" });
- IHardwareService localhardwareservice = IHardwareService.Stub.asInterface(binder);
- localhardwareservice.setFlashlightEnabled(isEnable);
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
- <span style="font-size:18px;"> <uses-permission android:name="android.permission.FLASHLIGHT" />
- <uses-permission android:name="android.permission.HARDWARE_TEST" /> </span>
2、用照相机来控制闪光灯
这是思维的另一个方向。Camera自带丰富的接口与Parameters,我们只管拿来使用就好了。
- <span style="font-size:18px;"> private Camera camera = null;
- private Parameters parameters = 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();</span>
- private void OpenLightOn() {
- if ( null == m_Camera )
- {
- m_Camera = Camera.open();
- }
- Camera.Parameters parameters = m_Camera.getParameters();
- parameters.setFlashMode(Camera.Parameters.FLASH_MODE_TORCH);
- m_Camera.setParameters( parameters );
- m_Camera.autoFocus( new Camera.AutoFocusCallback (){
- public void onAutoFocus(boolean success, Camera camera) {
- }
- });
- m_Camera.startPreview();
- }
- private void CloseLightOff() {
- if ( m_Camera != null )
- {
- m_Camera.stopPreview();
- m_Camera.release();
- m_Camera = null;
- }
- }
0 0
- Android开启闪光灯的几种办法
- Android开启闪光灯的几种办法
- Android开启闪光灯的几种办法
- Android开启闪光灯的几种办法
- Android开启闪光灯的几种办法
- Android开启闪光灯的几种办法
- Android开启闪光灯的几种办法
- 开启闪光灯的几种方式
- Android开启闪光灯的方法
- 开启android设备的闪光灯作为手电筒
- Android之开启闪光灯
- android 开启闪光灯
- android开启闪光灯
- Android 开启闪光灯做手电筒
- android 开启闪光灯小应用
- Android 开启闪光灯做手电筒
- Android开启和关闭闪光灯
- Android-开启闪光灯作为手电筒
- 项目管理-css
- 全面深入JavaScript OOP面向对象编程
- SQLSERVER排查CPU占用高的情况
- AFNetworking2.0
- 关于一个技术上很细微,却TM很傻13的小细节——PS,第一篇博文
- Android开启闪光灯的几种办法
- 最长子序列
- QQ和微信语音音量分析
- java实现CRC16算法与C算法一致
- C 输入n个字符,向后平移m位,后m位补到前面
- 6-10. 关键活动
- 书籍
- 2014 Spark美国峰会上几大顶级数据商精彩PPT分享
- MapReduce框架实现的kmeans算法