代码来自于http://code.google.com/p/search-light/
不同类别的手机开启闪光灯的方法不一定相同,下面的代码适用于mb525,其他的手机我还没有试过.
package com.wjh.myset;
import java.io.PrintStream;
import java.lang.reflect.Method;
import android.os.IBinder;
public class MyFlashLight {
private Object svc = null;
private Method getFlashlightEnabled = null;
private Method setFlashlightEnabled = null;
@SuppressWarnings("unchecked")
public MyFlashLight() 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) {}
}
}
分享到:
相关推荐
在Android平台上,开发一款应用来控制手机的闪光灯,使其能开启或关闭,通常被称为“手电筒”功能。这个功能对于用户来说非常实用,尤其是在光线不足的环境中。本篇文章将详细探讨如何实现"Android闪光灯的打开与...
总之,这个"android扫描二维码源码 可打开闪光灯"项目展示了如何利用ZXing库在Android上构建一个功能完备的二维码扫描器,结合了闪光灯功能,使得在低光照环境下的扫描更加实用。理解并掌握这些关键知识点对于开发...
在Android平台上,开发一款能够利用手机LED闪光灯作为手电筒的应用是一项常见的需求。这个源码包"TestLight"提供了一种实现方式,允许开发者直接控制设备的LED闪光灯,而不是简单地改变屏幕亮度来模拟手电筒效果。...
在Android平台上实现手电筒功能,主要是通过调用设备的闪光灯来实现。这个功能在很多智能手机上都受到用户的欢迎,特别是在需要临时照明或者紧急情况下非常实用。在Android 2.3.3版本中,已经提供了对硬件闪光灯的...
本篇文章将深入探讨如何实现Android设备上的闪光灯控制,包括开启、关闭以及最佳实践。 首先,要控制闪光灯,我们需要引入Android的Camera API或者Camera2 API。Camera API是早期版本Android中的接口,而Camera2 ...
在Android平台上,实现“android studio线程控制闪光灯闪烁”的功能涉及到多个关键知识点,包括对硬件权限的获取、Camera API或Camera2 API的使用、线程控制以及UI更新。下面将详细阐述这些方面。 首先,要操作手机...
通过上述方法,我们可以轻松地在 Android 中开启闪光灯,实现手电筒功能。闪光灯应用开发在许多场景中非常有用,例如在黑暗环境中拍摄照片或录像时,闪光灯可以为摄像头提供足够的照明。同时,闪光灯也可以作为一个...
在Android平台上,有时候我们需要在应用程序中实现开启或关闭设备的闪光灯功能,这通常用于创建手电筒应用。虽然Android SDK提供了直接操作相机闪光灯的接口,但有时由于权限问题或者API版本兼容性问题,开发者可能...
在Android平台上,开发人员可以利用系统的硬件特性,如相机的闪光灯,来为应用程序增加额外的功能。本篇文章将深入探讨如何在Android应用中实现闪光灯的控制,这涉及到Android的Camera API以及Light类的使用。 首先...
这款闪光灯不仅可作为无线多重闪光拍摄中的主闪光灯或遥控闪光灯,还配备了一个LED灯,能在1米处提供约100lx的照明,适用于摄影和视频录制。 一、产品配件与准备 在首次使用SB-500之前,确保收到的所有配件完整,...
大学毕业论文---plc控制闪光灯系统天塔之光.doc
在Android平台上,将手机的闪光灯用作手电筒是一项常见的功能。这个功能的实现主要涉及到Android系统的Camera API和权限管理。以下是对这个主题的详细解释: 首先,我们需要理解Android设备上的闪光灯是如何工作的...
这个名为“ios-开启闪光灯.zip”的压缩包可能包含了一个简单的iOS应用示例,专注于这项实用功能。下面将详细讨论如何在iOS中启用设备的闪光灯,并探讨相关技术知识点。 首先,我们需要理解iOS设备上的硬件结构。...
在Android平台上,控制手机闪光灯是一项常见的功能,例如在拍照应用、手电筒应用或者一些特定的交互式设计中。为了实现"android控制手机闪光灯定时闪烁"这一需求,我们需要理解Android系统的相机服务(Camera ...
综上所述,这个项目提供了Android平台上控制闪光灯的基本实现,适用于初学者学习和开发者快速集成闪光灯功能。同时,它展示了如何在Delphi环境下进行Android应用开发,对于熟悉Object Pascal的开发者来说是一个宝贵...
Android 带闪光灯的二维码源码.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
在本文中,我们将深入探讨如何在Delphi XE7中调用手电筒和闪光灯功能,以便在Android设备上创建一款实用的应用程序。这个过程不依赖于特定的组件,且已经在真实设备上进行了调试,提供了多种模式,如间歇性闪光和...
Android系统控制闪光灯的亮灭,Flash的控制,亲测可用.
在Android 4.0之前,闪光灯通常通过Camera类的`setFlashMode()`方法来开启或关闭。但在Android 4.0之后,这个方法已经被弃用,取而代之的是`Camera.Parameters`类的`setFlashMode()`方法。我们需要先获取到Camera...
带闪光灯的二维码源码.zip