我们的应用程序流程如下:
目前,我们正在强制执行已激活的GPS提供程序,因此这不是不活动位置服务的问题。
我通过在其中一部手机上创建用户帐户并启动应用程序来复制错误,并且我注意到onLocationChanged未被调用。
代码通过LocationServices.FusedLocationApi.requestLocationUpdates,因此它应该提供位置,但实际上却没有。
我知道我曾经通过打开谷歌地图来解决这个问题,但是
a)我几乎无法想象用户迄今尚未使用过谷歌地图 b)告诉他们打开谷歌地图来修复我们应用程序中的问题听起来很奇怪。
- 显示全屏活动,向用户解释为什么需要GPS位置
- 获取GPS权限
- 显示加载指示器
- 获取第一个地理位置
- 将第一个位置发送到服务器
- 从服务器加载相关数据
- 隐藏加载指示器
目前,我们正在强制执行已激活的GPS提供程序,因此这不是不活动位置服务的问题。
我通过在其中一部手机上创建用户帐户并启动应用程序来复制错误,并且我注意到onLocationChanged未被调用。
代码通过LocationServices.FusedLocationApi.requestLocationUpdates,因此它应该提供位置,但实际上却没有。
我知道我曾经通过打开谷歌地图来解决这个问题,但是
a)我几乎无法想象用户迄今尚未使用过谷歌地图 b)告诉他们打开谷歌地图来修复我们应用程序中的问题听起来很奇怪。
这里是使用的精确代码要点(我在第131行设置了断点,开始调试并到达那里,所以我应该得到位置,但是onLocationChanged方法从未被调用)。
removeLocationUpdates
是否可以异步执行? - TormundThunderfist