首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

Android按键灯,指示灯小结【Android源码解析十一】

2013-09-28 
Android按键灯,指示灯总结【Android源码解析十一】Android中有各种灯,背光灯,按键灯,指示灯,等等;前几天修改

Android按键灯,指示灯总结【Android源码解析十一】

       Android中有各种灯,背光灯,按键灯,指示灯,等等;前几天修改了这部分代码,整理下思路,其实都不难;

       首先,来说说指示灯(提示灯),即未接电话,未接短信的时候,会闪灯,这个其实就是NotificationManager这个类中的notify()方法来处理的;流程简单来过一下:


       Step 1:从应用层发送的notify(),到framework层被NotificationManager.java这个类接受了,来看看这个notify()这个方法:

 if ( (newScreenState == DisplayPowerRequest.SCREEN_STATE_BRIGHT) && (mWakefulness == WAKEFULNESS_AWAKE) && !mIPOShutdown && !mShutdownFlag) {                if ( ( (mWakeLockSummary & WAKE_LOCK_BUTTON_BRIGHT) != 0 ) ||                        ( (mUserActivitySummary & USER_ACTIVITY_BUTTON_BRIGHT) != 0) ) {                    mButtonLight.setBrightness(mScreenBrightness);                    Slog.i(TAG, "setBrightness mButtonLight, mScreenBrightness=" + mScreenBrightness);                } else {                    mButtonLight.turnOff();                    Slog.i(TAG, "setBrightness mButtonLight 0 ===.");                }            } else {                mButtonLight.turnOff();                Slog.i(TAG, "setBrightness mButtonLight else 0.");            }
灯的点亮的方法setBrightness()

灯关闭的方法turnOff()

要想修改按键灯随p-sensor的灯的亮灭同步,可以参考Android4.2中Phone的P-sensor的应用的分析。

然后再加上上述控制灯亮灭的方法就可实现同步;


     总结:灯的亮灭最后都会调用到LightsService.java这个类的,最后通过c代码调用底层的接口实现灯的颜色和闪烁的变化的;
















热点排行