2013-03-06 2 views
0

У меня возникла проблема с попыткой запланировать мое обслуживание для запуска так часто. Я получил свою службу для запуска при загрузке, но по какой причине, когда начинается расписание, много раз запускается сервис.Android Alarm Manager настраивает странное расписание

public class PPPService extends Service { 

    public void onStart(Intent intent, int startId) { 
     //TODO do something useful 
     Log.v("TEST", "Service started"); 

     // Schedule the alarm! 
    PendingIntent mAlarmSender = PendingIntent.getService(this, 0, intent, 0); 
     AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE); 
     am.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, AlarmManager.INTERVAL_FIFTEEN_MINUTES, mAlarmSender); 

     this.stopSelf(); 
     } 
} 

Постановили: Эта проблема была решена путем создания планировщика вместо того, сам мой график обслуживания.

ответ

0

Вы отправляете в PendingIntent контекст своего сервиса, который скоро будет убит вместе с намерением, который его запустил. Думаю, это может быть весьма непредсказуемо. Попробуйте получить ожидающие намерения следующим образом:

mAlarmSender = PendingIntent.getService(getApplicationContext(), 0, new Intent(getApplicationContext(), PPPService.class), 0); 
+0

hmmm ... все еще получать несколько запусков. Насколько я могу судить, результаты одинаковы. Интересно, почему это с самого начала. – EliteTech

+0

Должен ли я просто создать еще одну услугу, чтобы передать это? – EliteTech

+0

Благодарим за помощь. ваш ответ заставил меня понять, что мне нужен планировщик, а не сам график обслуживания. – EliteTech