加入收藏 | 设为首页 | 会员中心 | 我要投稿 江门站长网 (https://www.0750zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Android开启闪光灯的几种技巧

发布时间:2021-11-23 17:01:58 所属栏目:教程 来源:互联网
导读:一、控制硬件的情节 早在2008年开发Symbian和WM程序的时候,就非常好奇如何用我们的代码来控制硬件设备,比如闪光灯就是一个很好的控制对象。我们开发程序,很多乐趣就在于控制。这是一种精神上的愉悦,无论在哪个领域,控制其他事物都是很吸引人的。那么转眼
一、控制硬件的情节
 
早在2008年开发Symbian和WM程序的时候,就非常好奇如何用我们的代码来控制硬件设备,比如闪光灯就是一个很好的控制对象。我们开发程序,很多乐趣就在于控制。这是一种精神上的愉悦,无论在哪个领域,控制其他事物都是很吸引人的。那么转眼间到了2012年,Android开发也做了几年了,控制它的硬件却一直没有时间做,真是惭愧。今天得空,学习了一下,控制闪光灯大致有两种办法。下面就一一道来。
 
二、用IHardwareService直接控制
 
Android1.5以前是直接提供这个接口的,之后呢,需要我们自己来做一下。
 
在你的项目中新建一个包android.os,新建一个IHardwareService.aidl文件,内容如下:
 
package android.os;  
  
/** {@hide} */  
interface IHardwareService  
{  
    // obsolete flashlight support   
    boolean getFlashlightEnabled();  
    void setFlashlightEnabled(boolean on);  
}
然后在你的程序中引入
 
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();  
        }  
          
    }  
这样就可以开启闪光灯了。要使用的权限:

(编辑:江门站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读