gpt4 book ai didi

android - 在 Android 中没有 Intent 的情况下创建一个重复事件提醒直到特定日期?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:55:30 25 4
gpt4 key购买 nike

我有一个 Android 应用程序可以下载一些药物信息的服务。

例如(fludex white round 2 24-02-2012),表示一种名为fludex的药物,白色和圆形,从今天到24-01-2012每天必须服用2次。

现在我想在下载药物信息后,以静默/编程方式(无需用户交互)将带有药物信息的重复事件添加到日历中。因此,从今天到 24-01-2012 每天上午 10 点和晚上 10 点,在服药前 10 分钟提醒一次。我的应用程序将适用于 android 2-4。我该怎么做,到目前为止,我对搜索感到困惑。

第二个问题:我如何才能只删除我的应用程序中发生的事件(及其提醒),所以当我同步我的药物治疗以删除所有以前的事件并根据我从我的服务收到的新药物治疗产生新事件时?

最佳答案

        ContentResolver cr = ctx.getContentResolver();
ContentValues values = new ContentValues();

values.put(CalendarContract.Events.DTSTART, dtstart);
values.put(CalendarContract.Events.TITLE, title);
values.put(CalendarContract.Events.DESCRIPTION, comment);

TimeZone timeZone = TimeZone.getDefault();
values.put(CalendarContract.Events.EVENT_TIMEZONE, timeZone.getID());

// default calendar
values.put(CalendarContract.Events.CALENDAR_ID, 1);

values.put(CalendarContract.Events.RRULE, "FREQ=DAILY;UNTIL="
+ dtUntill);
// for one hour
values.put(CalendarContract.Events.DURATION, "+P1H");

values.put(CalendarContract.Events.HAS_ALARM, 1);

// insert event to calendar
Uri uri = cr.insert(CalendarContract.Events.CONTENT_URI, values);

dtuntil 在哪里

    SimpleDateFormat yyyymmdd = new SimpleDateFormat("yyyymmdd");
Calendar dt = Calendar.getInstance();

// where untilDate is a date instance of your choice,for example 30/01/2012
dt.setTime(untilDate);

// if you want the event until 30/01/2012 we add one day from our day
// because UNTIL in RRule sets events Before the last day want for event
dt.add(Calendar.DATE, 1);
String dtUntill = yyyymmdd.format(dt.getTime());

// Uri
Uri uri = cr.insert(CalendarContract.Events.CONTENT_URI, values);

// get the event ID that is the last element in the Uri
long eventID = Long.parseLong(uri.getLastPathSegment());

// add 10 minute reminder for the event
ContentValues reminders = new ContentValues();
reminders.put(Reminders.EVENT_ID, eventID);
reminders.put(Reminders.METHOD, Reminders.METHOD_ALERT);
reminders.put(Reminders.MINUTES, 10);

Uri uri = cr.insert(Reminders.CONTENT_URI, reminders);

引用:Recurrence Rule

关于android - 在 Android 中没有 Intent 的情况下创建一个重复事件提醒直到特定日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13652168/

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