问题描述
第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 (将#修改为@)