4

我正在编写一个程序来触发定期启动服务的意图,为此我决定使用警报管理器,我能够很容易地在活动中完成我想要的操作,但是尝试时出现错误在我无法弄清楚的接收器中做到这一点。

AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);

告诉我ALARM_SERVICE无法解析为变量

这是我对该接收器的完整代码:

package com.testapp21.second.activities;

import android.app.AlarmManager;
import android.app.PendingIntent;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.SystemClock;

public class PhoneOnReceiver extends BroadcastReceiver {
private PendingIntent mAlarmSender;

@Override
public void onReceive(Context context, Intent intent) {
    mAlarmSender = PendingIntent.getService(context,
              0, new Intent(context, StatsCheckerService.class), 0);

    // We want the alarm to go off 30 seconds from now.
      long firstTime = SystemClock.elapsedRealtime();

      // Schedule the alarm!
      AlarmManager am = (AlarmManager)getSystemService(ALARM_SERVICE);
      am.setRepeating(AlarmManager.ELAPSED_REALTIME_WAKEUP,
                      firstTime, 30*1000, mAlarmSender);

}
}
4

2 回答 2

9

尝试

AlarmManager am = (AlarmManager)context.getSystemService(Service.ALARM_SERVICE);
于 2012-03-07T14:38:02.090 回答
1

我发现如果你在一个片段中你可以这样做

AlarmManager am = (AlarmManager)getActivity().getSystemService(Service.ALARM_SERVICE);
于 2014-08-22T15:56:56.310 回答