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

Resolved:这是通过创建一个Scheduler而不是让我的服务调度本身来解决的。

你在PendingIntent中发送的是你的服务的上下文,它将很快与启动它的intent一起被杀死。我想这是很难预测的。尝试像这样获取挂起的意图:

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

最新更新