0

我有这个代码

                Calendar cal = Calendar.getInstance();
                cal.set(Integer.parseInt(data_scelta_splittata[2]),Integer.parseInt(data_scelta_splittata[1]),Integer.parseInt(data_scelta_splittata[0]),Integer.parseInt(ora_scelta_splittata[0]),Integer.parseInt(ora_scelta_splittata[1]));
                Intent intent = new Intent(Intent.ACTION_EDIT);
                intent.setType("vnd.android.cursor.item/event");
                intent.putExtra("beginTime", cal.getTimeInMillis());
                intent.putExtra("allDay", "allDayFlag");
                intent.putExtra("rrule", "FREQ=DAILY");
                intent.putExtra("endTime", cal.getTimeInMillis());
                intent.putExtra("title", "Avviso Bioscalin "+prodotto);
                startActivity(intent);

问题是我需要同时添加 3 个事件,此代码添加一个事件并提示用户添加预编译的日历,但我不能这样做 3 次,这对用户来说很无聊。任何的想法?

4

1 回答 1

0

如果您使用的是 4.0+,则可以使用CalendarContract。但是,在 ICS 之前,您的选择更加有限。即使您现在启动的活动也无法在制造商已替换日历应用程序的 Android 设备上运行。

没有任何方法可以操纵 vnd.android.cursor.item 意图使其保持沉默或执行多个请求。此外,虽然您可以通过各种意图与日历应用程序交互,但这种交互没有记录,因此不推荐。

您可能会考虑使用Google Calendar API通过 REST 与用户的日历进行交互。只要您要与之交互的日历是与用户的 Google 帐户相关联的日历,这种方法就会为您提供适用于任何 Android API 级别的代码,以及已替换库存日历应用程序的设备。缺点是它不能让您将事件添加到用户的 Outlook 日历。

于 2012-08-28T14:51:17.427 回答