Kalender erstellen der einen Neustart übersteht

  • Antworten:10
Roland Schumacher
  • Forum-Beiträge: 11

03.07.2012, 21:38:38 via Website

Hallo

Ich habe ein kleines Problem wozu ich noch keine Lösung gefunden habe.
Ich kann einen Kalender erstellen und auch Events hinzufügen. Aber nach einem Reboot von Android wird mir dieser Kalender wieder gelöscht.
Vorgängig ist er aber in der Datenbank. Das kann ich mit dem Database Explorer von Motodev prüfen. Aber wie so übersteht er den Reboot nicht?
Sowohl unter 2.3 als auch neuer.

— geändert am 03.07.2012, 21:41:31

Antworten
Stefan S.
  • Forum-Beiträge: 560

06.07.2012, 09:55:27 via Website

Was für eine Datenbank verwendest du?
SQLLight?

Diese soltle ein Reboot überstehen. Wie rufst du die DB auf?

Antworten
Roland Schumacher
  • Forum-Beiträge: 11

06.07.2012, 10:21:47 via Website

Die DB ist ja vorhanden. Ich nutze die bestehende Infrastruktur.
Aber wenn ich mit Insert einen neuen Kalender einfüge verschwindet der immer wieder. Kurz in der DB, wird auch kurz angezeigt im KAlender, aber danach verschwindet er plötzlich.

Unter Android 4 habe ich jetzt vielleicht eine Lösung. Aber unter 2.3 noch nicht.

Antworten
Stefan S.
  • Forum-Beiträge: 560

06.07.2012, 10:24:22 via Website

Was für Code verwendest du für den Insert?

Antworten
Roland Schumacher
  • Forum-Beiträge: 11

06.07.2012, 10:54:56 via Website

Das hier.

1if(Build.VERSION.SDK_INT < 14)
2{
3 ContentValues calendar = new ContentValues();
4
5 calendar.put("_sync_account", CALENDAR_NAME); //Com2Cal
6 calendar.put("_sync_account_type", ACCOUNT_TYPE); //LOCAL
7 calendar.put("name", CALENDAR_NAME);//Com2Cal
8 calendar.put("displayName", CALENDAR_NAME);//Com2Cal
9 calendar.put("color", 0xFF008080);
10 calendar.put("access_level", 700);
11 calendar.put("sync_events", 1);
12 calendar.put("timezone", TimeZone.getDefault().getID());
13 calendar.put("ownerAccount", CALENDAR_NAME);//Com2Cal
14 calendar.put("hidden", 0);
15 Uri conentUri;
16
17 if(Build.VERSION.SDK_INT >= 8)
18 {
19 conentUri = Uri.parse("content://com.android.calendar/calendars");
20 }
21 else
22 {
23 conentUri = Uri.parse("content://calendar/calendars");
24 }
25
26 Uri newRow = context.getContentResolver().insert(createCompleteUri(conentUri), calendar);
27
28 Log.v(TAG, newRow.toString());
29}

und

1private static Uri createCompleteUri(Uri uri)
2{
3 Uri.Builder b = uri.buildUpon();
4 b.appendQueryParameter("caller_is_syncadapter", "true");
5 b.appendQueryParameter("account_name", "Lokal");
6 b.appendQueryParameter("account_type", "LOCAL");
7 Uri calUri = b.build();
8 Log.d("completeUri", calUri.toString());
9 return calUri;
10}

Antworten
Stefan S.
  • Forum-Beiträge: 560

06.07.2012, 11:25:59 via Website

Ich sehe jetzt auch nichts auffälliges.

Ich hatte mal Probleme beim Inserten von Kontakten. Bin dort dann beim Speichern umgestiegen auf ContentProviderOperation.
Hast du diese schon mal ausprobiert?

Antworten
Roland Schumacher
  • Forum-Beiträge: 11

06.07.2012, 13:17:59 via Website

Contentprovider für Kalender unter 2.3?

PS: Ich habe noch keine funktionierende Lösung gefunden. :-) Muss nichts heissen, aber es ist mein erstes Problem wo ich noch keine Lösung zu gefunden habe.

— geändert am 06.07.2012, 13:21:27

Antworten
Stefan S.
  • Forum-Beiträge: 560

06.07.2012, 13:20:39 via Website

Ich brauchte es für meine Kontakte ab 2.1

Antworten
Roland Schumacher
  • Forum-Beiträge: 11

07.07.2012, 22:20:11 via Website

Hast du denn einen eigenen Sync Adapter geschrieben?

Antworten
Gelöschter Account
  • Forum-Beiträge: 694

08.07.2012, 09:58:54 via Website

Kurze Verständnisfragen - da ich den Verdacht habe das hier einige aneinander vorbei reden:

* Du legst einen neuen Kalender an?

* In diesem neuen Kalender legst Du einen neuen Event an?

* Nach dem Reboot sind sowohl der neue Event als auch der neue Kalender weg?

* Wenn Du einen neuen Event in einem bestehenden Kalender anlegst ist der Event dann nach dem Reboot noch vorhanden?

* Dir geht es um den Kalender - nicht um einen Kalenderevent?

— geändert am 08.07.2012, 09:59:18

Antworten
Roland Schumacher
  • Forum-Beiträge: 11

08.07.2012, 11:02:32 via Website

Hallo

Mir geht es tatsächlich nur um den Kalener. Der neuerstellte KALENDER ist nach dem Reboot weg.
Ich verstehe einfach nicht wie so das so ist. In der Calendar DB sie der Eintrag unaufällig normal aus. Aber eben. Nach dem reboot ist alles weg.

Antworten