软件平台:Android11
硬件平台:QCS6125
具体问题:设备起来后,无法横竖屏自动旋转,通过sensor api接口拿到的数据为null;
印象中低版本是可以通过getevent获取sensor的值的,但是高版本这种方法不灵通了。
新增了一个工具叫lshal,可以用这个工具指令去debug sensor:
具体指令及执行结果大致如下:
trinket:/ # lshal debug android.hardware.sensors@2.0::ISensors/default
===HalProxy===
Internal values:
Threads are running: true
Wakelock timeout start time: 134856 ms ago
Wakelock timeout reset time: 1972819 ms ago
Wakelock ref count: 0
# of events on pending write writes queue: 0
Most events seen on pending write events queue: 0
# of non-dynamic sensors across all subhals: 16
# of dynamic sensors across all subhals: 0
SubHals (1):
Name: QTI-SubHAL
Debug dump:
可以检测到16个非动态(静态)传感器,如果是异常的情况,这些动态和静态传感器检测的值应该都是0个,即捕获不到任何传感器硬件。
Mark~~