В принципе, я не знаю, является ли это проблемой Eclipse или GPS моего телефона или кодом моего приложения.Исключить нулевой указатель Android GPS
Проблема: когда я пытаюсь перезапустить свой телефон и запускать свое приложение, он выходит из строя во время выполнения. Ошибка NullPointer (номер строки не указан). Но если я удалю две строки из onCreate(), которая проверяет наличие GPS и снова запускает приложение, это работает. Затем, если я снова добавлю эти строки, приложение работает. Таким образом, в принципе, код в порядке, но он сбой приложения, если он запускается в первый раз после перезагрузки телефона. Вот некоторые соответствующий код:
EDIT
Хорошо это то, что я сделал:
if (new LocTools(this).checkGPS() == true) { // new method, checks if Gps is active and returns boolean.
LatLng ll = new LocTools(this).getMyLocation();
if (ll != null) {
Toast.makeText(this, "LatLng: "+ll, Toast.LENGTH_SHORT).show();
// ll is NOT null
//LocTools.goToLocation(map,ll,5,true);
} else {
Toast.makeText(this, "Gps error", Toast.LENGTH_SHORT).show();
}
}
Я закомментировал LocTools.goToLocation линии и вставили Тост, чтобы увидеть, если LatLng был нулевым , Результат: это НЕ. Тогда я раскомментировал LocTools.goToLocation, так что код выглядит следующим образом:
...
if (ll != null) {
Toast.makeText(this, "LatLng: "+ll, Toast.LENGTH_SHORT).show();
LocTools.goToLocation(map,ll,5,true);
}
...
И побежал приложение, и он разбился во время выполнения - NullPointer! Я не понимаю, почему он это делает. Существует NO NullPointer ...
Во-первых, проверка равна нулю. Чем ты делаешь все, что хочешь. – Tugrul
Хорошо, проблема кроется в методе LocTools.getMyLocation(). Я пытаюсь понять, почему, хотя GPS включен, LocationManager возвращает Null, когда приложение запускается после перезапуска. –
Проверьте мой ответ. – Tugrul