通过 读取 光传感器 驱动 上报的数值,来判断 如何调节屏幕亮度。
这个功能是 谁来做的 ,就是说在源码工程里 哪个文件来判断并调节亮度?
还是说要自己另外写个类似service的程序,来监控光传感器的值,并调节屏幕亮度。

解决方案 »

  1.   

    首先是你的手机支持光传感,其次是要得到系统的亮度,然后得到当前的值光感的值,如果光感的值低,系统的亮度要调高。方法应该是这样的,但我没做过光感,只做过加速和角度的光感。温度的也试过。但不准!一般都差不多。。你可以自己写log自己试试看得到的值!
      

  2.   

    直接在sensormanager中可以获取的,判断类型为light就行了,没那么复杂吧,我做过
      

  3.   

    驱动上报的值是 光感的ADC值  0-63之间 。我看到有powermanagerservice.java中有注册光感,并实现了onsensorchanged() 接口函数。
    这里是调节屏幕的地方么?另外个问题就是 ,驱动的值在0-63之间,那powermanagerservice.java中需要的是什么范围?还有怎么分等级?这两个是在xml文件中设定的么? 需要更改驱动上报的值么?譬如改到(0-100000),这就和现实中lux值差不多了。
      

  4.   

    你可以写一个server,每调用一次light sensor的值就可以判断是否需要调整屏幕的亮度,然后调用系统调屏幕亮度的函数去调节,函数在settings的源代码里,有一个专门的函数可以调用。
      

  5.   

    你在onsenserchange的事件里判断。当值的区间在多少的时候,你就调用一次屏幕的值!
      

  6.   

    powermanagerservice.java
    各位,有研究过这个文件么,
    解释下,这个文件对light sensor 的 操作
      

  7.   

    http://blog.csdn.net/skdev/archive/2010/03/01/5335554.aspx
    这位老兄有分析过
      

  8.   

    今天完成中间件。
    结论是不用写service,需要改配置文件。