Flutter-geolocator: 位置服务关闭时不工作

创建于 2019-08-16  ·  13评论  ·  资料来源: Baseflow/flutter-geolocator

与其他 flutter 插件不同,这个插件在位置服务关闭时不起作用。

needs more info enhancement

最有用的评论

我也有同样的问题。 当我关闭 GPS 时
await Geolocator().getCurrentPosition(desiredAccuracy: LocationAccuracy.low/high);
只是永远不会回来。

是否应该无法通过locationManager.NETWORK_PROVIDER设备的位置?

此外,即使等待从未完成,
geolocator.checkGeolocationPermissionStatus();
返回状态授予。

所有13条评论

它不需要位置服务才能工作吗? 它如何获得位置?

@Xgamefactory你能澄清你的期望吗? @aronnelson是正确的,该插件需要运行位置服务才能正常工作,那么当服务未运行时,您预计会发生什么?

  1. 我正在调用 Position position = await Geolocator().getCurrentPosition(desiredAccuracy: LocationAccuracy.high);

有时,当 GPS 关闭时,在我打开它后,它会获得位置。
其他时间..它什么也没做,直到我打开谷歌地图。 (测试了几次)这个“冷”状态是什么?

  1. 当 GPS 关闭时,应该有一个本机对话框将其打开,并且所有用户都必须按是(查看 gps 关闭时谷歌地图中会发生什么),而不是用户必须滑动栏下来,然后自己打开。

谢谢

目前该插件没有提供请求服务位置激活的好方法......
类 LocationPermissions 是完成服务权限和激活管理的地方......我认为,而不是 openAppSettings() 方法应该是 requestServiceActivation() 或帮助用户在不进入设置或 QuickSettings 的情况下启用 LocationService 的东西...... FusedLocation具有通过向用户显示的 AlertDialog 请求 ServiceActivation 的功能,这就是 Google Maps 的做法,至少对于 Android 而言

我也有同样的问题。 当我关闭 GPS 时
await Geolocator().getCurrentPosition(desiredAccuracy: LocationAccuracy.low/high);
只是永远不会回来。

是否应该无法通过locationManager.NETWORK_PROVIDER设备的位置?

此外,即使等待从未完成,
geolocator.checkGeolocationPermissionStatus();
返回状态授予。

是否应该无法通过 locationManager.NETWORK_PROVIDER 访问设备的位置?
明显的用户错误:没有 SIM 卡 => 没有网络......

插件应该有一个方法来触发位置服务关闭。 可以在本机平台上以编程方式进行,至少在 android 上。

我遇到了同样的问题,我想该插件至少应该返回 GeolocationStatus disabled 但是,它返回 GeolocationStatus 授予。
如果您需要更好的解释,请告诉我。 抱歉。

我遇到了同样的问题,我想该插件至少应该返回 GeolocationStatus disabled 但是,它返回 GeolocationStatus 授予。
如果您需要更好的解释,请告诉我。 抱歉。

我遇到了同样的问题

@carlos-labrador, @Hunter3173 ,如果您想知道位置服务是否正在运行,您可以使用Geolocator().isLocationServiceEnabled()方法。 另请检查此问题以获取更多详细信息#414

我们需要看看我们是否可以以更流畅的方式处理启用位置服务(这是原始问题的内容)。 正如 Android 上的@luis901101所建议的,我们可以使用 FusedLocation 管理器来请求服务激活。

@carlos-labrador, @Hunter3173 ,如果您想知道位置服务是否正在运行,您可以使用Geolocator().isLocationServiceEnabled()方法。 另请检查此问题以获取更多详细信息#414

我们需要看看我们是否可以以更流畅的方式处理启用位置服务(这是原始问题的内容)。 正如 Android 上的@luis901101所建议的,我们可以使用 FusedLocation 管理器来请求服务激活。

谢谢 !

@carlos-labrador, @Hunter3173 ,如果您想知道位置服务是否正在运行,您可以使用Geolocator().isLocationServiceEnabled()方法。 另请检查此问题以获取更多详细信息#414

我们需要看看我们是否可以以更流畅的方式处理启用位置服务(这是原始问题的内容)。 正如 Android 上的@luis901101所建议的,我们可以使用 FusedLocation 管理器来请求服务激活。

谢谢你的帮助。

在 6.0.0 版本中修复

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

Sammius picture Sammius  ·  4评论

dark-chocolate picture dark-chocolate  ·  3评论

hectorAguero picture hectorAguero  ·  5评论

deisold picture deisold  ·  3评论

lqmminh picture lqmminh  ·  6评论