Einzelnen Beitrag anzeigen

Loko789

Registriert seit: 23. Sep 2015
74 Beiträge
 
#1

Frage zur Klasse CalendarEventsManager

  Alt 2. Okt 2015, 11:26
Hallo,
Ich nutze die CalendarEventsManager Klasse um per "klick" von der App, Erinnerungen in den Android Kalender zu speichern.
Wenn ich eine neue Erinnerung über "fManager.AddNewReminder(ADate: TDate; ATitle: string)" anlege, sieht sie immer wie folgt aus:
-Datum (Immer ganztägig)
-Titel

Aber ich will eine Erinnerung z.B. eine Startzeit oder eine Länge o.ä. geben.

Ich habe in der Klasse unter "TCalendarEventsManager.AddNewReminder" folgendes gefunden:
Code:
function TCalendarEventsManager.AddNewReminder(ADate: TDate; ATitle: string): integer;
var
  wEvent : JContentValues;
  wUri : Jnet_Uri;
begin
  try
    wEvent := TJContentValues.JavaClass.init;
    wEvent.put(StringToJString('calendar_id'), TJInteger.JavaClass.init(fCalendarID));
    wEvent.put(StringToJString('title'), StringToJString(ATitle));
//    wEvent.put(StringToJString('description'), StringToJString('Description here if needed'));
    wEvent.put(StringToJString('dtstart'), TJLong.JavaClass.init(MilliSecondsBetween(ADate , EncodeDate(1970,1,1))));
    wEvent.put(StringToJString('dtend'), TJLong.JavaClass.init(MilliSecondsBetween(ADate , EncodeDate(1970,1,1))));
    wEvent.put(StringToJString('eventTimezone'), StringToJString('Europe/London'));
    wEvent.put(StringToJString('allDay'), TJBoolean.JavaClass.init(StringToJString('true')));
    wEvent.put(StringToJString('hasAlarm'), TJBoolean.JavaClass.init(StringToJString('true')));
    wEvent.put(StringToJString('accessLevel'), TJInteger.JavaClass.init(3));
//    wEvent.put(StringToJString('guestsCanModify'), TJBoolean.JavaClass.init(StringToJString('true')));
    wUri := fContentResolver.insert(StrToJURI('content://com.android.calendar/events'),wEvent);
    Result := StrToInt(JStringToString(wUri.getLastPathSegment()));

    wEvent.clear;
    wEvent.put(StringToJString('event_id'),TJInteger.JavaClass.init(Result));
    wEvent.put(StringToJString('method'),TJInteger.JavaClass.init(1));
    wEvent.put(StringToJString('minutes'),TJInteger.JavaClass.init(30));
    wEvent.put(StringToJString('event_id'),TJInteger.JavaClass.init(Result));

    fContentResolver.insert(TJCalendarContract_Reminders.JavaClass.CONTENT_URI, wEvent);

  except
    On E:Exception do
      Raise Exception.create('[TCalendarEventsManager.AddNewReminder] : '+E.message);
  end;
end;
Dort steht was mit tstart, dtend. Kann man das "nutzen" oder ist das schon festgelegt?
Bitte kann mir bitte einer weiterhelfen

Danke
Gruß

Geändert von Loko789 ( 2. Okt 2015 um 11:33 Uhr)
  Mit Zitat antworten Zitat