Flutter 位置流未在 Android Wear 2 上发送 gps 更新

Flutter location stream not sending gps updates on Android Wear 2

我有一个 flutter 应用程序,它使用位置库,找到 here

我用

导入
import 'package:location/location.dart';

稍后调用

location.onLocationChanged().listen((Map<String,double> currentLocation) {
  print("LocationListener " + currentLocation.toString());
}

当 运行 在 avd phone 模拟器上以及在真正的 phone 上时,这工作正常。我通过新的 GPS 位置获得定期更新。

但是,我想让它在 Android Wear 2 device/watch 上运行。

如果我在模拟器或实际 android 手表(华为手表 2)中尝试,流似乎永远不会触发。我还尝试通过模拟器更新位置,该模拟器同样适用于 phone,但不适用于手表。

我正在尝试的 adv 设备是 Android Wear Round API 26

实际设备是

Wear OS By Google 1.6Google Play Services 14.3.67android o.s 8.0

在 phone 上启用了定位。有可能 avd 手表位置期望来自 phone,但实际手表设备并非如此,因为它可以独立工作,并且 Google 地图之类的东西在 GPS 明智的情况下工作得很好。

Android Wear 2 对待 GPS/listeners 有什么不同吗?我应该知道,有什么方法可以让它发挥作用吗?

我终于完成了这个工作,因为我没有意识到权限要求已经改变,根据 here

所以我添加了其中一个...

<!--<uses-permission android:name="android.hardware.location.gps" />-->
<uses-permission android:name="android.hardware.location" />

位置权限似乎有效,但如果需要,您可以专门添加 gps。