Moin,
ich hab ein Widget welches Termine in einen Kalender einträgt. Dafür nutze ich einen eigenen Kalender. Das Anlegen und das Hinzufügen von Events funktioniert soweit, aber nach ca. 20 Min. sind alle Termine und der Kalender wieder weg. Wie bekomme ich den Permanent?
Hier mein Code.
@TargetApi(14)
public static void doCreateCalendar( Account account , Context context)
{
ContentResolver cr =context.getContentResolver();
ContentValues values = new ContentValues();
values.put(Calendars.ACCOUNT_NAME, account.name);
values.put(Calendars.ACCOUNT_TYPE, account.type);
values.put(Calendars.OWNER_ACCOUNT, account.name);
values.put(Calendars.NAME, "MEINKALENDARNAME");
values.put(Calendars.CALENDAR_DISPLAY_NAME, "MEINKALENDARNAME");
values.put(Calendars.CALENDAR_COLOR, 0xffff0000);
values.put(Calendars.CALENDAR_ACCESS_LEVEL, Calendars.CAL_ACCESS_OWNER );
values.put(Calendars.SYNC_EVENTS, 1);
values.put(Calendars.VISIBLE, 1);
Uri creationUri = asSyncAdapter( Calendars.CONTENT_URI, account.name, account.type );
try{
Uri created = cr.insert( creationUri, values );
cr =null;
creationUri = null;
values = null;
}catch(Exception e)
{
//Trace
}
}
private static Uri asSyncAdapter( Uri uri, String account, String accountType )
{
return uri.buildUpon()
.appendQueryParameter(android.provider.CalendarContract.CALLER_IS_SYNCADAPTER,"true")
.appendQueryParameter(Calendars.ACCOUNT_NAME, account)
.appendQueryParameter(Calendars.ACCOUNT_TYPE, accountType)
.appendQueryParameter(Calendars.VISIBLE, "1").build();
}
Gruß
Marc