長い間、Androidカレンダーに保存されているイベントの詳細に直面しています。Android バージョン 2.2.3 より前のデバイスでは詳細を保存できますが、上記の場合はカレンダーに保存されません。これが私のコードです:
Calendar cal = Calendar.getInstance();
Uri events = null;
if(getCalendarUriBase(this)!=null)
{
Uri EVENTS_URI = Uri.parse(getCalendarUriBase(this) + "events");
ContentResolver cr = getContentResolver();
// event insert
long eventdate1=Date.parse(“23/07/2012”);
long eventdate2=Date.parse((“23/07/2012”);
ContentValues values = new ContentValues();
values.put("calendar_id", 1);
values.put("title","Event 1");
values.put("allDay", 0);
values.put("dtstart", eventdate1); // event starts at 11 minutes from now
values.put("dtend", eventdate2); // ends 60 minutes from now
values.put("description", "Description 1");
values.put("eventLocation", "xyz");
values.put("visibility", 0);
values.put("hasAlarm", 1);
try{
try{
events = cr.insert(EVENTS_URI, values);
}catch (Exception e) {
// TODO: handle exception
return false;
}
// reminder insert
Uri REMINDERS_URI = Uri.parse(getCalendarUriBase(this) + "reminders");
values = new ContentValues();
values.put( "event_id", Long.parseLong(events.getLastPathSegment()));
values.put( "method", 1 );
values.put( "minutes", 10 );
cr.insert( REMINDERS_URI, values );
private String getCalendarUriBase(Activity act) {
String calendarUriBase = null;
Uri calendars = Uri.parse("content://calendar/calendars");
Cursor managedCursor = null;
try {
managedCursor = act.managedQuery(calendars, null, null, null, null);
} catch (Exception e) {
}
if (managedCursor != null) {
calendarUriBase = "content://calendar/";
} else {
calendars = Uri.parse("content://com.android.calendar/calendars");
try {
managedCursor = act.managedQuery(calendars, null, null, null, null);
} catch (Exception e) {
}
if (managedCursor != null) {
calendarUriBase = "content://com.android.calendar/";
}
}
return calendarUriBase;
}
** * ** *
何かが欠けているところ。それについて私を助けてください。