使用Android P,在后台运行的应用将不再接收传感器更新。解决这个问题的一种方法是使用前台服务。
根据this
在后台限制访问传感器
Android P限制了后台应用访问用户输入和传感器数据的能力。如果您的应用在运行Android P的设备上在后台运行,系统会对您的应用应用以下限制:
您的应用无法访问麦克风或相机。
使用连续报告模式的传感器(如加速度计和陀螺仪)不会接收事件。
使用变更或一次性报告模式的传感器不会接收事件。
如果您的应用需要在运行Android P的设备上检测传感器事件,请使用前台服务。
这是否也适用于间接传感器访问,例如通过Awareness / Fence API?他们还需要前台服务吗?