如何解决主要从中国制造商获取不同设备上的位置
第1个用例
您有一个来自中国制造商的设备,并且想要获取设备的当前位置。如@mvanbeusekom在GitHub上所述,由于特朗普与中国制造商之间的战争,某些设备不具备Google Play服务的全部功能,因此您将使用LocationManager
:
Position _currentPosition;
_currentPosition = await getCurrentPosition(
desiredAccuracy: Location.high,forceAndroidLocationManager: true
);
第2个用例。
您有一个用中文制造的设备,并且已经使用了第一个解决方案,但该插件仍不会返回该设备的当前位置。在继续之前,我经历了两种情况的第一种解决方案: (1)在室内时。 (2)在户外时。
用例2.1-室内
根据研究(如果我错了,请纠正我),LocationManager
中的geolocator
默认使用GPS_PROVIDER
。但是当我这样做时:
Position _currentPosition;
_currentPosition = await getCurrentPosition(
desiredAccuracy: Location.medium,forceAndroidLocationManager: true
);
我现在有了设备的当前位置,但没有那么精确,因为显然我已经将精度设置为medium
。
第2.2号用例-户外
现在,上述所有解决方案都在户外工作,可以将desiredAccuracy
设置为Location.high
或Location.medium
。
第3个用例
因此,根据我的经验,我得出结论,将desiredAccuracy
设置为Location.medium
并将forceAndroidLocationManager
设置为true
是我的最佳选择。但是,当我在非中文版本的设备上尝试此操作时,它不会返回当前位置。因此,我将desiredAccuracy
更改为Location.high
。现在可以再次使用,但不适用于中文版本的设备。我必须等待近10分钟才能使该应用获得当前位置。
在尝试这些方法之前,请记住在您的<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
文件中添加AndroidManifest.xml
。
问题:
我一直在中国设备上测试我的应用程序,因为如今在我们的国家(菲律宾),由于其价格合理,中国设备用户的数量正在增加。我找不到不依靠geolocator
来获取当前位置的方法。
免责声明
以上用例基于我在geolocator
上的经验,可能对您没有帮助。但是,如果您对此有想法或解决方案,请帮助我。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。