我的LocationManager中的位置完全错误
locationService = (LocationManager) getSystemService(LOCATION_SERVICE);
Log.i(log_tag, "get best provider");
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
provider = locationService.getBestProvider(criteria, true);
clearLocationCache(provider);
Location location = locationService.getLastKnownLocation(provider);
一旦我在莫斯科并在我的申请中找到了一个位置,但是当我到达伦敦时,我的设备上有相同的位置。我重新启动Android设备后才能找到正确的位置。
答案 0 :(得分:0)
原因来自这一行
locationService.getLastKnownLocation(provider);
因为它总是返回最后一个已知位置
答案 1 :(得分:0)
通过GPS或网络获取位置的最佳方式是使用这些权限。
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
您是否已获得这些权限?
答案 2 :(得分:0)
LocationManager location = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
location.getLastKnownLocation(LocationManager.GPS_PROVIDER);