[说明]
1、 默认不支持doze,必须是GMS load。(非GMS的load中config_enableAutoPowerModes默认是false,只有GMS的load在overlay中才会有设置为true)。这是源自对GCM机制的支持。
2、senosr必须支持TYPE_SIGNIFICANT_MOTION
关于significant motion detector的数据来源有下面几种情况:
--》使用的硬件sensor本身支持significant motion detector的数据输出;
--》使用外挂的sensorHUB芯片,接收gsensor的数据然后通过算法计算出significant motion
detector的数据;
--》使用MTK BB芯片内置的sensorHUB 模块,接收gsensor的数据然后通过算法计算出significant
motion detector的数据;但是不是所有的MTK BB芯片都有内置sensorHUB的
在google官网对significant motion detector的sensor有说明:
A significant motion detector triggers when the detecting a “significant motion”: a
motion that might lead to a change in the user location.
Examples of such significant motions are:
walking or biking、sitting in a MOVing car, coach or train
Examples of situations that do not trigger significant motion:
phone in pocket and person is not moving
phone is on a table and the table shakes a bit due to nearby traffic or washing machine
At the high level, the significant motion detector is used to reduce the power
consumption of location determination. When the localization algorithms detect that the
device is static, they can switch to a low power mode, where they rely on significant
motion to wake the device up when the user is changing location.
另外,在MTKonline上有Doze/APP standby的e-course介绍,可供参考:
M:M Doze& AppStandby
N:Doze&AppStandby in N