Android上CalendarProvider事件的自定义通知

Android上CalendarProvider事件的自定义通知,android,android-contentprovider,calendarcontract,Android,Android Contentprovider,Calendarcontract,我使用Android的日历提供程序创建了一个日历。我已经把所有的事情都做好了,我甚至还把提醒都做好了: public static ContentValues getReminderContentValues(long eventId) { ContentValues cv = new ContentValues(); cv.put(CalendarContract.Reminders.EVENT_ID, eventId); cv.put(Cale

我使用Android的日历提供程序创建了一个日历。我已经把所有的事情都做好了,我甚至还把提醒都做好了:

public static ContentValues getReminderContentValues(long eventId) {
        ContentValues cv = new ContentValues();
        cv.put(CalendarContract.Reminders.EVENT_ID, eventId);
        cv.put(CalendarContract.Reminders.METHOD, CalendarContract.Reminders.METHOD_ALERT);
        cv.put(CalendarContract.Reminders.MINUTES, 15);
        return cv;
    }
通过上面的代码,我可以在默认日历应用程序、Google日历以及我的应用程序中查看事件

我也在预定开始前15分钟收到通知。现在我想自定义通知,在某种意义上,当我单击通知时,它将转到我的应用程序,而不是默认的日历应用程序或谷歌日历

我已尝试向清单中的注册广播,如:

    <receiver android:name=".receivers.ReminderReceiver">
        <intent-filter>
            <data android:scheme="content" />
            <action android:name="android.intent.action.EVENT_REMINDER" />
        </intent-filter>
    </receiver>

这样,我就可以在广播接收器的
onReceive
方法中获取代码,但是如果我在那里也写了一个通知,那么我将显示两个通知。一个可以正常工作,另一个可以在单击时将我带到默认应用程序

关于如何获取提醒通知以打开我的应用程序或阻止默认提醒通知并创建一个新通知,有什么解决方案吗

另一种解决方案是在
AlarmManager
的帮助下,在事件的确切时间安排报警,但由于会有许多这样的意图,它们基本上会相互覆盖!有什么解决办法吗