gpt4 book ai didi

android - 覆盖 Google 日历的默认提醒设置

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:59:40 33 4
gpt4 key购买 nike

在我的应用中,用户可以将特殊事件添加到他们的 Google 日历中。我希望在没有任何警报/提醒/通知的情况下添加事件。一些用户的日历具有提醒的默认设置,如“Activity 前一天,9:00”。

如何添加事件,使它们在默认设置下完全没有任何警报?

    ContentValues eventValues = new ContentValues();
eventValues.put("calendar_id", calendarId);
eventValues.put("title",title);
eventValues.put("allDay", 1);
eventValues.put("dtstart", dtstart);
eventValues.put("dtend", dtend );
eventValues.put("hasAlarm", 1); // I tried both 0 and 1, none of them solved the problem!
eventValues.put("hasAttendeeData", 1);
eventValues.put("availability",1);

编辑:似乎是在事件与 Google 的服务同步后才添加提醒,几分钟后,而不是立即添加。我该如何预防?

最佳答案

您可以在 CalendarProvider 上设置一个 BroadCastReceiver。当提供者发生任何变化时,它将被触发:

<receiver android:name="CalendarChangeReceiver"> 
<intent-filter>
<action android:name="android.intent.action.PROVIDER_CHANGED" />
<data android:scheme="content" />
<data android:host="com.android.calendar" />
</intent-filter> </receiver>

所以当提醒被添加到事件中时,这将被触发。您可以将插入的事件 ID 保存在 SharedPreferences 中,然后在 onReceive() 中删除提醒:

context.getContentResolver().delete(CalendarContract.Reminders.CONTENT_URI, CalendarContract.Reminders.EVENT_ID + "=?", new String[]{Long.toString(eventId)});

关于android - 覆盖 Google 日历的默认提醒设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38707134/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com