0

長い間、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;
}

** * ** *

何かが欠けているところ。それについて私を助けてください。

4

1 に答える 1

0

同様の問題がありました。問題は

values.put("visibility", 0);

その名前の列はデータベースにないと思います。透明度という名前の列と同じです。ネット上のいくつかのチュートリアルで見つけました

于 2012-08-23T13:43:26.857 に答える