java.lang.NullPointerException об gps api? - PullRequest
0 голосов
/ 17 марта 2011

как заголовок у меня есть вопрос о GPS API следовать мой код

 LocationManager loctionManager; 
                 String contextService=Context.LOCATION_SERVICE;
                 loctionManager=(LocationManager) getSystemService(contextService); 
                 Criteria criteria = new Criteria(); 
                    criteria.setAccuracy(Criteria.ACCURACY_FINE);
                    criteria.setAltitudeRequired(false);
                    criteria.setBearingRequired(false); 
                    criteria.setCostAllowed(true); 
                    criteria.setPowerRequirement(Criteria.POWER_LOW);
                    String provider = loctionManager.getBestProvider(criteria, true); 
                    Location location = loctionManager.getLastKnownLocation(provider);


                     double a=location.getLatitude();
                    double b=location.getLongitude();
Log.d(""+a,""+b);

тогда ошибка java.lang.NullPointerException кто-нибудь может мне помочь? THX

1 Ответ

1 голос
/ 17 марта 2011

getLastKnownLocation() может вернуть ноль, вам нужно убедиться, что это не так.

Чтобы получить местоположение, вам нужно сначала установить разрешение в своем манифесте.

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

Затемв вашем коде вы должны прослушивать доступность местоположения.Вы делаете это, регистрируя LocationListener.Действие отобразится, и когда у Android будет место для вас, оно перезвонит вам.

private final LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
    latitude = location.getLatitude();
    longitude = location.getLongitude();
    //Do what you want with your coordinates
}
loctionManager.requestLocationUpdates(LocationManager.GPS, 100, 1, locationListener);

Если вы используете эмулятор, а не реальное устройство, вам нужно принудительно определить местоположение, вы можете использоватьDDMS внутри Eclipse для отправки поддельного местоположения:

Send a fake location to an Android Emulator

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...