我正在尝试编译每个应用在设备上使用的传感器列表,并跟踪每个传感器返回的数据。
我的第一次尝试是用
读取日志adb logcat Senors:V AkmSensor:V SensorManager:V *:S
这给了我一个非常可靠的每个传感器的registerListener
和unregisterListener
事件列表,如下所示:
D/SensorManager(30158): registerListener :: 1600940398, Linear Acceleration Sensor, 250000, 0,
D/AkmSensor( 2973): Magnetic_Disable
D/SensorManager(30158): unregisterListener ::
D/AkmSensor( 2973): Magnetic_Enable
D/AkmSensor( 2973): Magnetic_Set_Delay , delay = 20
D/SensorManager(30158): registerListener :: 1600615030, Gravity Sensor, 66667, 0,
D/AkmSensor( 2973): Magnetic_Enable
D/AkmSensor( 2973): Magnetic_Set_Delay , delay = 66
D/AkmSensor( 2973): Magnetic_Disable
D/SensorManager(30158): unregisterListener ::
D/SensorManager(30158): registerListener :: 0, BMI055 Accelerometer Sensor, 250000, 0,
D/SensorManager(30158): unregisterListener ::
D/SensorManager(30158): registerListener :: 4, CM3323 Light Sensor, 250000, 0,
D/SensorManager(30158): unregisterListener ::
但我不知道如何确定哪个应用程序要求传感器以及这些传感器返回给它们的值。
有没有更好的方法来解决这个问题?如何从需要它的应用程序外部看到传感器收集的数据?
注意:我有root权限。有没有我可以/应该为系统内的传感器数据创建自己的日志的地方?