我的通知设置如下
VLOOKUP
然后在我的广播接收器上1 = *
我设置了这样的
2 = /
这样我就可以检查它是否被调用了。
我也为此设置了清单,
AlarmManager alarmManager = (AlarmManager) getActivity().getSystemService(Context.ALARM_SERVICE);
Calendar cal = Calendar.getInstance();
cal.add(Calendar.MONTH, month);
cal.add(Calendar.DAY_OF_MONTH, day - 1);
cal.add(Calendar.YEAR, year);
cal.add(Calendar.HOUR_OF_DAY, Calendar.AM);
Intent intent= new Intent(getActivity(), Receiver.class);
PendingIntent broadcast = PendingIntent.getBroadcast(getActivity(), 100, intent, PendingIntent.FLAG_UPDATE_CURRENT);
if (alarmManager!= null) {
alarmManager.set(AlarmManager.RTC_WAKEUP, cal.getTimeInMillis(), broadcast);
}
我已使用此answer进行了检查,但仍然无效。
答案 0 :(得分:0)
最近围绕广播接收器似乎有很多问题。
来自Broadcast Receiver Overview:
从Android 8.0(API级别26)开始,系统对清单声明的接收器施加了额外的限制。如果您的应用程序的目标是API级别26或更高级别,则无法使用清单为大多数隐式广播声明接收器(广告不会专门针对您的应用)。当用户正在使用您的应用时,您仍然可以使用上下文注册的接收器。
注意:如果您的应用程序的目标是API级别26或更高级别,则您无法使用清单声明隐式广播的接收方(特定地不针对您的应用的广播),除了一些免除该限制的隐式广播。在大多数情况下,您可以改为使用预定作业。
答案 1 :(得分:0)
Calendar.DAY_OF_MONTH
以 1 而不是0
可能这是问题吗?你过了日期int DAY_OF_MONTH
获取和设置的字段编号,表示该月的某一天。这是DATE的同义词。该月的第一天的价值为1。
上述答案不适合您的问题