0

我在尝试安排我的服务每隔一段时间运行时遇到问题。我已经让我的服务在启动时启动,但是无论什么原因,当计划开始时,服务方式启动了很多次。

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

已解决:这是通过创建调度程序而不是让我的服务调度本身解决的。

4

1 回答 1

0

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

mAlarmSender = PendingIntent.getService(getApplicationContext(), 0, new Intent(getApplicationContext(), PPPService.class), 0);
于 2013-03-06T17:30:25.477 回答