Я пытаюсь просто получить GPS-местоположение пользователя, но мое приложение падает при попытке получить широту и долготу устройства. См код, где происходит ошибка ..Как получить местоположение GPS пользователя на устройстве Android (2.2)
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
LocationManager lm = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
final double longitude = location.getLongitude(); //error occurs here
final double latitude = location.getLatitude(); //and here
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
// Called when a new location is found by the network location provider.
//longitude = location.getLongitude();
//latitude = location.getLatitude();
}
public void onStatusChanged(String provider, int status, Bundle extras) {}
public void onProviderEnabled(String provider) {}
public void onProviderDisabled(String provider) {}
};
//update location via GPS PROVIDER
//can also use LocationManager.NETWORK_PROVIDER
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
}
Я также включая разрешение ACCESS_FINE_LOCATION в файле манифеста:
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
, так что я не совсем уверен, почему это не работает. Любая помощь будет принята с благодарностью!
Если вы получили сбой, это означает, что вы получаете столбец. Вы можете опубликовать его. – EboMike
Звучит как location = null, но, как сказал Майк, нам нужен журнал. – user432209
@EboMike @ user432209 Извините. Я получаю исключение NULLPointerException. location = null. Поэтому я предполагаю, что когда он пытается получить последнее известное местоположение пользователя, местоположение не будет найдено. Есть ли лучший/другой способ найти местоположение пользователя, а не использовать getLastKnownLocation? – AndroidRob