初始化 LocationCallback 后打开设备 GPS 时,未调用 LocationCallback onLocationResult
Posted
技术标签:
【中文标题】初始化 LocationCallback 后打开设备 GPS 时,未调用 LocationCallback onLocationResult【英文标题】:LocationCallback onLocationResult isn't getting called when device GPS is turned on after initializing LocationCallback 【发布时间】:2020-10-11 12:21:26 【问题描述】:我有一个前台服务,它在应用程序启动时被初始化,即使应用程序被销毁也会运行。我已经在前台服务中初始化了 LocationCallback,如下所示:
new LocationCallback()
@Override
public void onLocationResult(LocationResult locationResult)
super.onLocationResult(locationResult);
// My custom code
@Override
public void onLocationAvailability(LocationAvailability locationAvailability)
super.onLocationAvailability(locationAvailability);
我有两个案例:
a) 在设备 GPS 开启后初始化服务(连同 LocationCallback)时,一切正常。也就是说,控制在给定持续时间后进入“onLocationResult”。
b) 但是,在设备 GPS 开启之前初始化服务(连同 LocationCallback)时,控件永远不会进入“onLocationResult”。即使前台服务正在运行并且设备上的 GPS 已打开(在 LocationCallback 初始化之后)。
有人可以帮我解决这个问题吗?
【问题讨论】:
【参考方案1】:此问题仅在模拟器上出现(不确定原因是什么)。如果我尝试在设备上进行调试(使用 USB 调试),则一切正常。
【讨论】:
以上是关于初始化 LocationCallback 后打开设备 GPS 时,未调用 LocationCallback onLocationResult的主要内容,如果未能解决你的问题,请参考以下文章
无法解析符号 getFusedLocationProviderClient 和 LocationCallback
使用 fusedLocationProvider.removeLocationUpdates (locationCallback) Android Studio 时出错
LocationListener LocationCallback 有啥区别?
何时使用 LocationManager/LocationListener VS。 LocationServices/LocationCallback 跟踪用户位置?