FusedLocationProviderClient.requestLocationUpdates后台挂起问题求助
后台使用FusedLocationClient.requestLocationUpdates出现挂起问题
问题描述
使用FusedLocationClient.requestLocationUpdates获取设备位置已有数年,但近一个月该方法在App后台时突然出现挂起现象,涉及所有此前正常运行的设备及App版本。切换至前台后,回调可正常触发。
此前无ACCESS_BACKGROUND_LOCATION权限时曾出现类似问题,但目前该权限已正常授予。定位代码在Worker中执行,约每分钟一次。
最初接手代码库时使用Foreground Service完成该任务,因Android 12限制后台启动前台服务,按官方建议改用WorkManager,此前运行正常。理论上可重构为持续运行的前台服务,但希望避免大规模重构。
已尝试的排查操作
- 卸载重装App
- 在SDK 28至35版本上测试,问题一致
- 清除App缓存
- 撤销并重新授予
ACCESS_FINE_LOCATION及ACCESS_BACKGROUND_LOCATION权限 - 验证AndroidManifest.xml中已配置所有定位权限
- 确认未开启省电模式
- 验证Google Play服务可用
- 替换废弃方法为非废弃版本
内容的提问来源于stack exchange,提问作者Nelson
相关产品推荐
相关产品推荐

