Android 使用GPS获取用户当前和准确位置
对于我的新应用程序,我需要使用GPS获取用户位置。为此,我使用了Android 使用GPS获取用户当前和准确位置,android,gps,Android,Gps,对于我的新应用程序,我需要使用GPS获取用户位置。为此,我使用了fusedLocationProviderApi.getLastLocation。大多数情况下,我会得到null但后来我意识到所有API都是为了在位置更改时得到通知。但我想在应用程序中获取用户的当前确切位置(考虑用户未移动)如何获取Location对象,以便每次都不获取null。您可以在OnCreate()方法中使用此代码来获取位置 // Acquire a reference to the system Location Mana
fusedLocationProviderApi.getLastLocation
。大多数情况下,我会得到null
但后来我意识到所有API都是为了在位置更改时得到通知。但我想在应用程序中获取用户的当前确切位置(考虑用户未移动)
如何获取Location对象,以便每次都不获取
null
。您可以在OnCreate()
方法中使用此代码来获取位置
// Acquire a reference to the system Location Manager
LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
// Define a listener that responds to location updates
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
// Called when a new location is found by the network location provider.
makeUseOfNewLocation(location);
}
public void onStatusChanged(String provider, int status, Bundle extras) {}
public void onProviderEnabled(String provider) {}
public void onProviderDisabled(String provider) {}
};
// Register the listener with the Location Manager to receive location updates
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
您可以在
OnCreate()
方法中使用此代码来获取位置
// Acquire a reference to the system Location Manager
LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
// Define a listener that responds to location updates
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
// Called when a new location is found by the network location provider.
makeUseOfNewLocation(location);
}
public void onStatusChanged(String provider, int status, Bundle extras) {}
public void onProviderEnabled(String provider) {}
public void onProviderDisabled(String provider) {}
};
// Register the listener with the Location Manager to receive location updates
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
是的,我同意关于定位的简单想法。但我的观点是,对于上述实现,位置的每次更改都会调用onLocationChanged,而不仅仅是获取站立用户的位置。或者我完全弄错了?你能更新你的位置提供商吗?还有问题。
onLocationChanged()
一旦解决了位置问题,就会触发。用户不需要实际移动。Mike M.感谢您的洞察力:)是的,我同意关于获取位置的简短想法。但我的观点是,对于上述实现,位置的每次更改都会调用onLocationChanged,而不仅仅是获取站立用户的位置。或者我完全弄错了?你能更新你的位置提供商吗?还有问题。onLocationChanged()
一旦解决了位置问题,就会触发。用户不需要实际移动。Mike M.感谢您的洞察力:)谢谢您的回答。我将尝试解决方案:)如果你发现它有助于投票或接受答案接受你的解决方案。谢谢你的回答。我将尝试解决方案:)如果你发现它有助于投票或接受答案接受你的解决方案。谢谢:)