从Android手电筒程序中学到的知识

    昨天晚上无聊的时候下载到了一个Android手电筒的程序,里面有很多东西我都没有接触过~硬着头皮把代码读完,然后自己仿照着写了一下,遇到了一些问题,也学到了一些东西,写篇日志记录一下。

    首先是手电筒程序使用的基本原理是屏幕背光的设置,需要设置两点,一个是屏幕的颜色,这个可以利用view的setBackgroundColor来完成。另一个则必须设置屏幕的亮度,也就是Brightness。请看下面两段代码:

    获取屏幕亮度:

    

    设置屏幕亮度:

   

    获取屏幕的亮度,我们使用的是Settings.System的信息,通过这些信息,我们可以获取到屏幕亮度的int值。至于设置屏幕亮度,原本打算使用的是IHardwareService,但是那个接口貌似已经不能使用了(我使用的是Android SDK1.5),在Google上找了一下,发现原来LayoutParams就可以设置亮度,只需要先获取,设置之后再set就可以了。

    至此第一个关键问题就解决了~还算不赖~

    接下来在范例程序中使用了一个WakeLock。这个Lock的具体作用我不是很清楚~大家可以自行Google~要获取这个Lock可以用一下的代码实现:

   

    用完了之后别忘了release!

    但是在程序执行的过程中总是执行到w.acquire()就异常~后来发现原来使用这个Lock是需要Permission的!在manifest里面加上一个uses-permission就可以了!代码如下:

   

    好啦~完成手电筒程序的要点大家都清楚了~~最后是把完整的代码贴上来~大家可以下载试用~我的SDK版本是1.5~

    XML代码:(main.xml)

   

    Java代码:

   

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值