2013-07-11 2 views
2

Я хочу знать, когда GPS на устройстве настроен, и местоположение изменилось.Как постоянно наблюдать за поставщиком Gps?

Вот что я сделал:

LocationManager mlocManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); 
LocationListener mlocListener = new MyLocationListener(); 
mlocManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, mlocListener); 

public class MyLocationListener implements LocationListener 
{ 
    @Override 
    public void onLocationChanged(Location loc) 
    { 
     Toast.makeText(getApplicationContext(),"onlocation changed",Toast.LENGTH_SHORT).show(); 
    } 


    @Override 
    public void onProviderDisabled(String provider) 
    { 
     Toast.makeText(getApplicationContext(),"providerdisabled",Toast.LENGTH_SHORT).show(); 
    } 

    @Override 
    public void onProviderEnabled(String provider) 
    { 
     Toast.makeText(getApplicationContext(),"provideenabled",Toast.LENGTH_SHORT).show(); 
    } 

    @Override 
    public void onStatusChanged(String provider, int status, Bundle extras) 
    { 

    } 
} 

Это работает хорошо, когда мое приложение работает на переднем плане, но когда я закрываю его, я не буду получать больше никаких обновлений. Я хотел бы знать, как получить эту информацию непрерывно, пока мое приложение не будет удалено.

+0

, именно поэтому '' обслуживания существуют – Houcine

+0

Попробуйте это: http://stackoverflow.com/questions/15203995/location-listener-as-a-service – SztupY

ответ

0

Вам нужно положить это в сервис и запустить сервис липким.

Также вы должны подумать об использовании FusedLocationManager с помощью GooglePlayServices.

Для получения дополнительной информации о GooglePlayServices и местах прочитать here

+0

если u не прочь, пожалуйста, дайте мне пример – kiran

+0

http://developer.android.com/reference/android/app/Service.html читайте здесь для информации об услуге - в сервисе onCreate вы просто поместите существующий код своей деятельности –

Смежные вопросы