在按钮单击上向S Planner添加事件

时间:2017-07-30 18:31:45

标签: java android calendar

我遇到了问题 - 我正在创建一个应用程序,并且我希望在按钮点击时向用户的日历添加一个新事件(我有一个S计划员,因此我正在对其进行测试)。问题在于日期和时间 - 它不会发生变化。这是代码:

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"。

我想将活动中的数据插入到三星的S Planner中。插入除日期和时间之外的所有内容都没有问题。 Screenshot那里没有任何变化。如果您需要任何进一步的细节,请告诉我们。

1 个答案:

答案 0 :(得分:0)

由于塞尔文指出了我的错误,因此无法管理。 制作一个包含日期和时间的字符串,并使用SimpleDateFormat对其进行转换 很久。

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();
                }