按键灯待机2秒后灭掉
修改文件:/device/mediatek/mt6580/init.mt6580.rc
chown system system /sys/class/leds/red/triggerchown system system /sys/class/leds/green/triggerchown system system /sys/class/leds/blue/trigger
+
+ chown system system sys/devices/platform/device_info/KEY_LCD
+ chmod 0666 sys/devices/platform/device_info/KEY_LCD
修改文件:/device/mediatek/sepolicy/basic/non_plat/system_server.te
allow system_server device:chr_file { write read open getattr };
+
+allow system_server sysfs:file rw_file_perms;
+allow system_server xc_device_info:file rw_file_perms;
修改文件:/frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.java
private static final int MSG_BBL_TIMEOUT = 27;+ private static final int STOP_KEYBOARDLIGHT = 42;
+ private final static String KEYBOARD_LIGHT_FILE_PATH="/sys/devices/platform/device_info/KEY_LCD";+
+private class PolicyHandler extends Handler {@Overridepublic void handleMessage(Message msg) {
@@ -810,6 +816,13 @@setButtonLightEnabled(false);break;
+
+
+ case STOP_KEYBOARDLIGHT:
+ write(KEYBOARD_LIGHT_FILE_PATH, 0);
+ break;
+ }}}
@@ -3808,6 +3821,21 @@final boolean down = event.getAction() == KeyEvent.ACTION_DOWN;final boolean canceled = event.isCanceled();final int keyCode = event.getKeyCode();
+
+ if (isScreenOn()){
+ write(KEYBOARD_LIGHT_FILE_PATH, 1);
+ if(mHandler!=null){
+ mHandler.removeMessages(STOP_KEYBOARDLIGHT);
+ mHandler.sendEmptyMessageDelayed(STOP_KEYBOARDLIGHT, 2000);//修改点
+
+ }
+ }+
修改文件:/basic/non_plat/file_contexts
/sys/devices/platform/device_info/CHARGER_ENABLE u:object_r:xc_sysfs:s0+/sys/devices/platform/device_info/KEY_LCD u:object_r:xc_device_info:s0