安卓:我的警报管理器广播接收器不工作



我希望将闹钟管理器设置为一定时间以更改手机背景,但广播接收器没有执行任何操作。你能帮我解释为什么吗?

调度报警:

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" />

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

最新更新