Android:我的报警管理器广播接收器不能正常工作

时间:2017-06-18 22:39:10

标签: android broadcastreceiver alarmmanager android-pendingintent

我希望将我的闹钟管理器设置一段时间来更改手机背景,但广播接收器没有做任何事情。你能告诉我为什么吗?

安排闹钟:

public void scheduleAlarm(Context context){
    Intent intent = new Intent(context, AlarmReceiver.class);
    pendingIntent = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(System.currentTimeMillis());
    calendar.set(Calendar.HOUR_OF_DAY, 18);
    calendar.set(Calendar.MINUTE, 34);
    am = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
    am.setInexactRepeating(AlarmManager.RTC, calendar.getTimeInMillis(), AlarmManager.INTERVAL_DAY, pendingIntent );
    Toast.makeText(context, "Alarm set", Toast.LENGTH_LONG).show();
}

广播接收器:

@Override
    public void onReceive(Context context, Intent intent){
        PendingIntent sentPI = PendingIntent.getBroadcast(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
        GrilledCheeseLookup.getGrilledCheeseJSON(grilledCheeseUrls, context);
        Toast.makeText(context, "Alarm worked", Toast.LENGTH_LONG).show();
    }

在清单中启用:

<receiver android:name=".AlarmReceiver" android:enabled="true" />

1 个答案:

答案 0 :(得分:0)

尝试创建Intent,同时使用Intent / 4构造函数指定packageContext(可以将uri设置为null)。