У меня есть служба, которую я запускаю при отправке тревоги.
Проблема в том, что служба запускается автоматически каждые несколько часов.
Я хочу, чтобы она запускалась только один раз при срабатывании тревоги.
Вот код, который я использую:
@Override
public IBinder onBind(Intent intent) {
// TODO Auto-generated method stub
return null;
}
@Override
public void onStart(Intent intent, int startId) {
loadList service_release = new loadList();
service_release.execute();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
return startId;
}
@Override
public void onCreate(){
super.onCreate();
loadList service_release = new loadList();
service_release.execute();
}
Кто-то сказал мне, что я должен переместить AsyncTask для выполнения в onStartCommand ().Но я не видел в документах ничего, что могло бы решить мою проблему, выполнив это.
Что мне нужно сделать, чтобы он запускался один раз и не продолжал работать снова и снова в течение периода времени после установки будильникавыкл?
РЕДАКТИРОВАТЬ:
Мой будильник настраивается следующим образом ..
String alarm = Context.ALARM_SERVICE;
AlarmManager am = (AlarmManager)getSystemService(alarm);
Intent Aintent = new Intent("REFRESH_THIS");
PendingIntent pi = PendingIntent.getBroadcast(this, 0, Aintent, 0);
Calendar calendar = Calendar.getInstance();
calendar.add(Calendar.FRIDAY, );
am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 4 * AlarmManager.INTERVAL_DAY, AlarmManager.INTERVAL_DAY, pi);