特定三星设备上capacitor-background-geolocation的高频事件与无效电池电平问题
关于capacitor-background-geolocation插件在三星设备上的异常问题
异常现象
- 高频后台事件:部分三星设备上的
providerchange、motionchange、location等后台事件以每秒4-5次的极高频率发送至服务器,远超预期的每小时最多30次更新。 - 无效电池电平:在这些高频更新中,
battery.level字段始终返回-21474836,而extras.batteryLevel则提供有效值(如0.82代表82%)。 - 独特模式:当
battery.level为-21474836时,activity字段始终固定为:
"activity": { "type": "still", "confidence": 100 }
受影响设备
- Samsung Galaxy A50s (SM-A5070)
- Samsung Galaxy A53 5G (SM-A536E)
- Samsung Galaxy S22 5G (SM-S901E)
- Samsung Galaxy S20 FE 5G (SM-G7810)
- Samsung Galaxy S10 SM (SM-G973F)
- Samsung Galaxy A80 (SM-A805N)
- Samsung Galaxy A90 5G (SM-A908N)
- Samsung Galaxy S10 5G (SM-G977B)
插件配置
await BackgroundGeolocation.ready({ autoSync: true, debug: false, desiredAccuracy: BackgroundGeolocation.DESIRED_ACCURACY_NAVIGATION, distanceFilter: 200, elasticityMultiplier: 4, extras: { androidSDKVersion: 32, appVersion: "3.4.3" }, headers: { ContentType: "application/json" }, isMoving: true, logLevel: BackgroundGeolocation.LOG_LEVEL_ERROR, reset: true, showsBackgroundLocationIndicator: false, startOnBoot: true, stationaryRadius: 25, stopOnTerminate: false, stopTimeout: 5, url: "https://your-server-url.com", useSignificantChangesOnly: true });
已尝试操作
- 验证应用配置,确认仅上述特定三星设备出现此类问题。
- 其他Android或iOS设备使用相同应用版本与配置时无此问题。
技术问询
- 插件对
providerchange、motionchange、location等后台事件的处理是否与这些特定三星设备存在特殊交互? - 为何这些设备上
battery.level始终返回-21474836,而extras.batteryLevel保持有效? - 是否可通过修改配置减少冗余事件或解决该异常行为?
- 固定的
activity模式(type:"still", confidence:100)能否为高频更新的原因提供线索?
恳请提供相关建议与分析,如需更多细节或日志请告知!
内容的提问来源于stack exchange,提问作者Tanuj Gupta
相关产品推荐
相关产品推荐

