【发布时间】:2014-04-03 10:27:34
【问题描述】:
大家好,请有人帮助我,我想通过我的应用程序将事件设置为设备日历。我需要从编辑文本(这是用户输入)中获取日期并单击按钮(比如设置日期)它应该作为事件保存到设备日历中。在上述日期,它应该提醒应用用户该事件。
我已经尝试了很多,但我无法做到这一点。作为一名大学生,我已经尽力了,但真的需要有人的帮助..
如果有人知道,请告诉我解决方案(如果提供了示例,那将是一个很大的帮助(请不要只告诉我有关 api 的信息,请使用 calendarprovider 和这个,我需要适当的示例))。 .
提前致谢
我通过以下代码打开了设备日历。这允许我手动设置事件,但我想在单击按钮后自动设置事件。 有人可以在这方面帮助我吗? 意图 i = new Intent();
//Froyo 或更高版本(请注意,我刚刚在 CM7 上测试过,小于 froyo 的版本可以正常工作,因此取决于手机...) cn = new ComponentName("com.google.android.calendar", "com.android.calendar.LaunchActivity");
//小于弗罗约 cn = new ComponentName("com.android.calendar", "com.android.calendar.LaunchActivity");
i.setComponent(cn); 开始活动(i);
上面的代码显示本地日历并允许用户自己设置事件。 但我不希望这种情况发生,而是希望本机日历接受用户输入并设置事件。因此,为此我实现了以下代码: 公共无效 addCalendarEvent(){
Calendar cal = Calendar.getInstance();
Intent intent = new Intent(Intent.ACTION_EDIT);
intent.setType("vnd.android.cursor.item/event");
intent.putExtra("beginTime", cal.getTimeInMillis());
intent.putExtra("allDay", true);
intent.putExtra("rrule", "FREQ=YEARLY");
intent.putExtra("UNTIL=20140404T080000Z",true);
intent.putExtra("endTime", cal.getTimeInMillis()+60*60*1000);
intent.putExtra("title", "A Test Event from android app");
intent.putExtra("description", "A Test Description from android app");
intent.putExtra("eventLocation", "Geolocation");
startActivity(intent);
}
我在按钮的 onClick() 方法中调用了这个方法。 我将日期硬编码为:intent.putExtra("UNTIL=20140404T080000Z",true); 但这不起作用。但是,我不想对其进行硬编码,它应该接受用户输入(动态它应该可以工作,比如获取edittext数据并通过意图传递)。 请问有人可以在这方面帮助我吗??
【问题讨论】:
标签: android