Mr.Alright---MTK安卓13 抬手亮屏功能的逻辑

admin 2025-11-20 00:42:00

该功能在系统设置-显示-拿起设备时唤醒

alps\vendor\mediatek\proprietary\packages\apps\MtkSettings\src\com\android\settings\display\LiftToWakePreferenceController.java

public boolean isAvailable() {

SensorManager sensors = (SensorManager) mContext.getSystemService(Context.SENSOR_SERVICE);

return sensors != null && sensors.getDefaultSensor(Sensor.TYPE_WAKE_GESTURE) != null;

}

通过以上代码可以控制该功能是不是在设置中显示,也可以看出来用到的sensor是Sensor.TYPE_WAKE_GESTURE,当然这个sensor是需要驱动配置好之后,上层才可以正常的控制该功能的开启和关闭。

alps\frameworks\base\core\java\android\hardware\SensorManager.java

public Sensor getDefaultSensor(int type) {

// TODO: need to be smarter, for now, just return the 1st sensor

List l = getSensorList(type);

boolean wakeUpSensor = false;

// For the following sensor types, return a wake-up sensor. These types are by default

// defined as wake-up sensors. For the rest of the SDK defined sensor types return a

// non_wake-up version.

if (type == Sensor.TYPE_PROXIMITY || type == Sensor.TYPE_SIGNIFICANT_MOTION