通过 读取 光传感器 驱动 上报的数值,来判断 如何调节屏幕亮度。
这个功能是 谁来做的 ,就是说在源码工程里 哪个文件来判断并调节亮度?
还是说要自己另外写个类似service的程序,来监控光传感器的值,并调节屏幕亮度。
------解决方案--------------------
首先是你的手机支持光传感,其次是要得到系统的亮度,然后得到当前的值光感的值,如果光感的值低,系统的亮度要调高。方法应该是这样的,但我没做过光感,只做过加速和角度的光感。温度的也试过。但不准!一般都差不多。。你可以自己写log自己试试看得到的值!
------解决方案--------------------
可以通过监控光传感器的值的大小,并调节屏幕亮度。
------解决方案--------------------
直接在sensormanager中可以获取的,判断类型为light就行了,没那么复杂吧,我做过
------解决方案--------------------
驱动上报的值是 光感的ADC值 0-63之间 。
我看到有powermanagerservice.java中有注册光感,并实现了onsensorchanged() 接口函数。
这里是调节屏幕的地方么?
另外个问题就是 ,驱动的值在0-63之间,那powermanagerservice.java中需要的是什么范围?还有怎么分等级?这两个是在xml文件中设定的么? 需要更改驱动上报的值么?譬如改到(0-100000),这就和现实中lux值差不多了。
------解决方案--------------------
你可以写一个server,每调用一次light sensor的值就可以判断是否需要调整屏幕的亮度,然后调用系统调屏幕亮度的函数去调节,函数在settings的源代码里,有一个专门的函数可以调用。
------解决方案--------------------
你在onsenserchange的事件里判断。当值的区间在多少的时候,你就调用一次屏幕的值!
------解决方案--------------------
powermanagerservice.java
各位,有研究过这个文件么,
解释下,这个文件对light sensor 的 操作
------解决方案--------------------
http://blog.csdn.net/skdev/archive/2010/03/01/5335554.aspx
这位老兄有分析过
------解决方案--------------------
今天完成中间件。
结论是不用写service,需要改配置文件。
------解决方案--------------------
楼主能详细解释下不??