【发布时间】:2014-06-23 21:56:59
【问题描述】:
我需要一些关于 Android 中 LocationManager 的信息的帮助。我正在使用此代码根据用户的位置获取用户的特定信息,但在我的设备 Motorola G 我得到 provider="Passive" 以及 Location return Null My Motorola G 在最新的 Android Kit Kat(4.4) Android 操作系统上运行。
我也在其他设备中尝试此代码,因此提供者是网络或 GPS 也可以正确找到位置。
locationManager = (LocationManager) getSherlockActivity().getSystemService(Context.LOCATION_SERVICE);
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setAltitudeRequired(true);
criteria.setBearingRequired(true);
criteria.setCostAllowed(true);
criteria.setPowerRequirement(Criteria.POWER_LOW);
provider = locationManager.getBestProvider(criteria, true);
locationManager.requestLocationUpdates(provider, 1000, 0, this);
Location location = locationManager.getLastKnownLocation(provider);
if (location != null) {
System.out.println("Provider " + provider + " has been selected.");
onLocationChanged(location);
} else {
Toast.makeText(getSherlockActivity(), "Location not available", Toast.LENGTH_SHORT).show();
}
【问题讨论】:
标签: android gps location locationmanager