У меня есть служба, которая выполняет прослушивание местоположения. Теперь мой вопрос заключается в том, как убедиться, что моя служба захватит местоположение даже в спящем режиме. Я прочитал о диспетчере аварийных сообщенийКак сделать сервис даже в спящем режиме?
alarm.setRepeating(AlarmManager.RTC_WAKEUP, triggerAtMillis, intervalMillis, operation);
но как его использовать. Вот мой код .. любая помощь будет оценена ..
моя служба
public class LocationCaptureService extends Service implements LocationListener {
public static int inteval;
java.sql.Timestamp createdTime;
LocationManager LocationMngr;
@Override
public void onCreate() {
inteval=10*1000;
startLocationListener(inteval);
}
@Override
public IBinder onBind(Intent arg0) {
return null;
}
private void startLocationListener(int inteval,String nwProvider) {
this.LocationMngr = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
this.LocationMngr.requestLocationUpdates(LocationManager.GPS_PROVIDER, inteval, 0, this);
}
public void onLocationChanged(Location location) {
String status="c",S=null;
double longitude,lattitude,altitude;
g_currentBestLocation = location;
createdTime = new Timestamp (new java.util.Date().getTime());
longitude=location.getLongitude();
lattitude=location.getLatitude();
altitude=location.getAltitude();
//use this
}
}
public void onProviderDisabled(String provider) {}
public void onProviderEnabled(String provider) {}
public void onStatusChanged(String provider, int status, Bundle extras) {}
}
Я не думаю, что вы хотите использовать 'AlarmManager', если вам не нужно планировать определенные интервалы для запроса местоположения. Если вы хотите, чтобы ваш сервис не был убит до тех пор, пока а) ваше приложение не будет выполнено b) пользователь сообщит, что ваше приложение остановится, вам нужен другой подход. –
thanx для комментария .. может у, пожалуйста, скажите мне, как сделать сервис не убитым, пока мое приложение не будет выполнено. мне нужно вернуть start_sticky – 2013-04-11 07:18:40