繁体   English   中英

Android 演播室广播接收器未调用

[英]Android Studio Broadcast Receiver not called

我想在特定日期和时间向本地用户发送通知。 我正在为此使用警报管理器和广播接收器。

我在这里安排我的通知:

private void createNotification (String name, String date) {
        int year = Integer.parseInt(date.substring(0,4));
        int month = Integer.parseInt(date.substring(4,6));
        int day = Integer.parseInt(date.substring(6,8));
        int hour = Integer.parseInt(date.substring(8,10));
        int min = Integer.parseInt(date.substring(10,12));

        AlarmManager mAlarm = (AlarmManager) act.getSystemService(Context.ALARM_SERVICE);
        Calendar calendar = Calendar.getInstance();
        calendar.set(year,month,day,hour,min,0);
        calendar.add(Calendar.HOUR_OF_DAY, -4);

        Intent intent = new Intent("partypooper.DISPLAY_NOTIFICATION");
        intent.putExtra("eventName", name);
        intent.putExtra("eventDate", hour+":"+min);
        PendingIntent broadcast = PendingIntent.getBroadcast(getContext(), 100, intent, PendingIntent.FLAG_UPDATE_CURRENT);

        mAlarm.setExact(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), broadcast);
    } 

这是我的清单,其中我有 PendingIntent 的接收器:

<receiver android:name=".Notification.NotificationReceiver">
     <intent-filter>
         <action android:name="partypooper.DISPLAY_NOTIFICATION"/>
         <action android:name="partypooper.eventName"/>
         <action android:name="partypooper.eventTime"/>
     </intent-filter>
</receiver>

然后我有一个 class NotificationReceiver 扩展 BroadcastReceiver ,我在其中采取措施在 onReceive 覆盖方法中显示通知。 但是,由于某种原因,此方法永远不会被调用。 我已经解决了这个问题并查看了许多类似的方法来实现它,但是我仍然无法弄清楚为什么它不起作用

任何帮助将不胜感激,谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM