Android Alarm Manager设置奇怪的时间表

时间:2013-03-06 17:12:58

标签: android

我遇到了尝试安排我的服务经常运行的问题。我已经开始启动我的服务了,但是因为什么原因在计划开始时多次启动服务方式。

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();
      }
}

已解决:这是通过创建计划程序而不是自行安排服务计划来解决的。

1 个答案:

答案 0 :(得分:0)

您正在PendingIntent中发送您的服务上下文,该上下文将很快与其启动的意图一起被终止。我想这可能是非常不可预测的。尝试获取这样的待处理意图:

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