Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 设置广播接收器中再次发生报警的上下文_Android_Broadcastreceiver_Alarmmanager_Android Context - Fatal编程技术网

Android 设置广播接收器中再次发生报警的上下文

Android 设置广播接收器中再次发生报警的上下文,android,broadcastreceiver,alarmmanager,android-context,Android,Broadcastreceiver,Alarmmanager,Android Context,在这段代码中,我遇到了一个问题,我不确定如何设置setRecurringAlarm()的上下文。在这个代码示例中,我放置了这个,但我不确定这是否正确 public class AlarmReceiver extends BroadcastReceiver { private static final int INTERVAL = 15*1000; // check every 15 seconds @Override public void onReceive(Context

在这段代码中,我遇到了一个问题,我不确定如何设置setRecurringAlarm()的上下文。在这个代码示例中,我放置了这个,但我不确定这是否正确

public class AlarmReceiver extends BroadcastReceiver {

private static final int INTERVAL = 15*1000; // check every 15 seconds

    @Override
    public void onReceive(Context context, Intent intent) {
        if(intent.getAction() != null) {
            if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
                Log.v(TAG, "BroadcastReceiver - Received Boot Completed; Set Alarm");

                setRecurringAlarm(this);
            }else{
                Log.v(TAG, "BroadcastReceiver - Received " + intent.getAction());
            }
        }else{
            Log.v(TAG, "BroadcastReceiver - Received AlarmService");
        }
    }

    private void setRecurringAlarm(Context context) {
        Intent receiver = new Intent(context, AlarmReceiver.class);
        PendingIntent recurringDownload = PendingIntent.getBroadcast(context, 0, receiver, PendingIntent.FLAG_CANCEL_CURRENT);
        AlarmManager alarms = (AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
        alarms.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), INTERVAL, recurringDownload);
    }
}

你已经把你的上下文放在了
onReceive(上下文,意图)
中,使用它。

@Rawr没问题:)顺便说一句
这个
不行,因为
BroadcastReceiver
不是一个
上下文
(例如
服务