我刚刚开始使用Android,今天在项目会议上有人说Android没有原生日历应用程序,所以用户只需使用他们喜欢的任何日历应用程序.
这是真的,如果是这样,我如何以编程方式将事件添加到用户的日历中?他们共有一个共同的API吗?
对于它的价值,我们可能会瞄准Android 2.x.
我想在本地添加一个事件Calendar,在这里我想重复这个事件,Tuesday直到31 December 2015:
btnWeekly.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Calendar calendar = Calendar.getInstance();
Intent intent = new Intent(Intent.ACTION_INSERT)
.setData(Events.CONTENT_URI)
.setType("vnd.android.cursor.item/event")
.putExtra(Events.TITLE, "Tuesdays")
.putExtra(Events.DESCRIPTION, "Tuesday Specials")
.putExtra(Events.EVENT_LOCATION, "Lixious Bench")
.putExtra(Events.RRULE, "FREQ=WEEKLY;BYDAY=Tu;UNTIL=20151231")
.putExtra(Events.DTSTART, calendar.getTimeInMillis())
.putExtra(CalendarContract.EXTRA_EVENT_ALL_DAY, true)
.putExtra(CalendarContract.Events.HAS_ALARM, 1)
.putExtra(Events.AVAILABILITY, Events.AVAILABILITY_BUSY);
startActivity(intent);
}
}
Run Code Online (Sandbox Code Playgroud)
问题:在日历中它为每个人显示此事件Thursday,而我tu在我的代码中使用了" "
还有一件事,如果我也想给这个事件的持续时间,如:from 6:00 pm to 9:00 pm仅.
当他们想要添加新活动时,我们正在尝试向用户显示冰淇淋三明治日历视图.我们只能在模拟器中测试它.
另一个问题是我们找不到任何使用CalendarProvider的示例.在处理三明治日历时,这是正确的课程吗?
使用Google Gdata API会更容易吗?
[编辑]所以我们工作的是向日历添加一个事件,但不是通过API,我们在正确的视图中打开日历.但现在问题是它在模拟器中不起作用,因为我们无法同步日历.
所以问题是:如何使用新的Android 4.0 Ice Cream Sandwich API阅读和编辑Android日历事件?
我有一个Android应用程序下载服务一些药物信息.
例如(fludex white round 2 24-02-2012),意思是一种名为fludex,白色和圆形的药物,从今天起每天必须给予2次,直到24-01-2012.
现在我想在药物信息下载之后,以静默/编程方式向日历添加重复的药物信息事件(无需用户交互).所以,从今天开始,直到每天上午10点到晚上10点,才会在10分钟前提醒他服药.我的应用程序将用于Android 2-4.我怎么能这样做,到目前为止我对我的搜索感到困惑.
第二个问题:我如何只删除从我的应用程序中制作的事件(及其提醒),所以当我同步我的药物治疗以删除所有先前的事件并根据我从我的服务收到的新药物治疗产生新事件?