Java 单击按钮将事件添加到S Planner
我有一个问题-我正在制作一个应用程序,我想在点击按钮时将一个新事件添加到用户的日历(我有一个s Planner,所以我正在测试它)。问题是,当涉及到日期和时间时,它只是没有改变。以下是代码:Java 单击按钮将事件添加到S Planner,java,android,calendar,Java,Android,Calendar,我有一个问题-我正在制作一个应用程序,我想在点击按钮时将一个新事件添加到用户的日历(我有一个s Planner,所以我正在测试它)。问题是,当涉及到日期和时间时,它只是没有改变。以下是代码: bCalendar.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent calintent = new Intent(Intent.ACTION_INSERT);
bCalendar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent calintent = new Intent(Intent.ACTION_INSERT);
calintent.setType("vnd.android.cursor.item/event");
calintent.putExtra(CalendarContract.Events.TITLE, eventname);
calintent.putExtra(CalendarContract.Events.EVENT_LOCATION, city + ", " + street);
calintent.putExtra(CalendarContract.Events.DESCRIPTION, description);
calintent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, timestart);
startActivity(calintent);
}
});
timestart是通过其他活动传递的字符串,例如“15:00”
我想将活动中的数据插入三星的Planner。除了日期和时间之外,我插入所有内容都没有问题。那里没有什么变化。如果您需要任何进一步的详细信息,请告诉。多亏塞尔文指出了我的错误,我们才成功地做到了这一点。 创建一个包含日期和时间的字符串,并使用SimpleDataFormat进行转换 太久了
bCalendar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent calintent = new Intent(Intent.ACTION_INSERT);
String dateString = datestart+" "+timestart;
SimpleDateFormat f = new SimpleDateFormat("yyyy-MM-dd HH:mm");
try{
Date d = f.parse(dateString);
long millis = d.getTime();
calintent.setType("vnd.android.cursor.item/event");
calintent.putExtra(CalendarContract.Events.TITLE, eventname);
calintent.putExtra(CalendarContract.Events.EVENT_LOCATION, city + ", " + street);
calintent.putExtra(CalendarContract.Events.DESCRIPTION, description);
calintent.putExtra(CalendarContract.EXTRA_EVENT_BEGIN_TIME, millis);
startActivity(calintent);
} catch(ParseException e){
e.printStackTrace();
}
from doc:Intent Extras key:事件或重复事件实例的开始时间。(从纪元开始的毫秒)。。。那个么你们为什么要把字符串放在那个里呢?那个么我应该使用什么数据类型呢?long…………谢谢你们,我通过使用SimpleDataFormat成功地做到了这一点。