2017-02-13 16 views
0

Непонятно, как использовать приемник местоположения.Как использовать приемник местоположения?

ли я это сделать:

public Location actualLocation; 

private class mLocationListener implements LocationListener { 

    public void onLocationChanged(Location location) { 
     actualLocation = location; 
    } 

    public void onStatusChanged(String s, int i, Bundle b) { 
    } 

    public void onProviderDisabled(String s) { 
    } 

    public void onProviderEnabled(String s) { 
    } 
} 

//Middle of code 
currentLatitude = actualLocation.getLatitude() 
currentLongitude = actualLocation.getLongitude() 

или это:

public Location actualLocation; 

private class mLocationListener implements LocationListener { 

    public void onLocationChanged(Location location) { 
    } 

    public void onStatusChanged(String s, int i, Bundle b) { 
    } 

    public void onProviderDisabled(String s) { 
    } 

    public void onProviderEnabled(String s) { 
    } 
} 

//Middle of code 
actualLocation = mLocationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER); 

currentLatitude = actualLocation.getLatitude() 
currentLongitude = actualLocation.getLongitude() 

Есть переменные, используемые, которые не были объявлены в этом фрагменты кода. Это специально. Я упростил код для простоты.

UPDATE: Мой вопрос: ¿ли я использовать getLastKnow местоположение или я вручную сохранить местоположение каждого запуска будет это обновление? ¿Будет ли это работать одинаково?

+0

Что вы хотите достичь, используя LocationListener –

ответ

0

Вам необходимо вызвать LocationManager.registerLocationUpdates. Вы передаете LocationListener в этот вызов, и инфраструктура будет вызывать эти функции всякий раз, когда у него есть новое местоположение.

+0

Я обновил свой вопрос сейчас, поэтому он более ясен. В основном я хотел знать, обновляет ли locationUpdates значение getLastKnowLocation или мне нужно писать новое местоположение вручную каждый раз, когда оно обновляется? –

+0

Напишите его каждый раз, когда он обновляется. Если вам нужно снова позвонить в последнее известное местоположение, это даст вам новый ответ, но он не будет обновлять старые результаты –