デフォルトの Android カレンダーに定期的なイベントを追加し、ユーザーが希望する場合は変更する必要があります。カレンダーの意図を開かずに、これを直接行う必要があります。次のコードを使用しました。トーストには、最後に追加されたイベントのイベント ID が表示されますが、そのイベントは電話の予定表には表示されません。本当に困ったが、問題を解決できなかった..助けてください..
public void createEvent(String title, String location, String description){
Calendar cal = Calendar.getInstance();
cal.setTimeZone(TimeZone.getTimeZone("GMT-1"));
Date dt = null;
Date dt1 = null;
String Stime="2013-11-13 07:30";
String Etime="2013-11-13 08:00";
try {
dt = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(Stime);
dt1 = new SimpleDateFormat("yyyy-MM-dd HH:mm").parse(Etime);
Calendar beginTime = Calendar.getInstance();
cal.setTime(dt);
// beginTime.set(2013, 7, 25, 7, 30);
beginTime.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH),
cal.get(Calendar.DATE), cal.get(Calendar.HOUR_OF_DAY),
cal.get(Calendar.MINUTE));
Calendar endTime = Calendar.getInstance();
cal.setTime(dt1);
// endTime.set(2013, 7, 25, 14, 30);
// endTime.set(year, month, day, hourOfDay, minute);
endTime.set(cal.get(Calendar.YEAR), cal.get(Calendar.MONTH),
cal.get(Calendar.DATE), cal.get(Calendar.HOUR_OF_DAY),
cal.get(Calendar.MINUTE));
ContentResolver cr = this.getContentResolver();
ContentValues values = new ContentValues();
values.put(Events.DTSTART, beginTime.getTimeInMillis());
values.put(Events.DTEND, endTime.getTimeInMillis());
values.put(Events.TITLE, title);
values.put(Events.DESCRIPTION, description);
values.put(Events.CALENDAR_ID, 3 );
// values.put(Events._ID, meeting_id);
values.put(Events.EVENT_TIMEZONE, TimeZone.getDefault().getID());
Uri uri = cr.insert(Events.CONTENT_URI, values);
long eventID = Long.parseLong(uri.getLastPathSegment());
Toast toast =Toast.makeText(getApplicationContext(), "Calender Event Added" + eventID,Toast.LENGTH_LONG);
toast.show();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
また、14未満のAndroidバージョンでも同じことを使用する必要があります。コードを何で更新すればよいですか?? ありがとう..