Problem med hemmagjord backup-lösning för sms

Diskussion i 'Frågor, support och diskussion' startad av MultiHaffarN, 6 aug 2011.

  1. MultiHaffarN

    MultiHaffarN Kid Droid Medlem

    Blev medlem:
    5 aug 2011
    Inlägg:
    45
    Mottagna gillanden:
    10

    MINA ENHETER

    Hej alla Swedroidare!
    Igår bestämde jag mig för att jag skulle uppdatera ROMen på min Hero då jag senast uppdaterade för över 2 månader sen. Dock så ville jag ha kvar mina sms för helhetens skull, så jag bestämde mig för att skriva mitt egna program för att göra en backup. Att spara smsen krypterade på minneskortet gick utmärkt och funkade precis som jag ville. MEN när jag skulle återställa mina sms upptäckte jag en riktigt oväntad bugg, smsen sparas till databasen men jag måste skapa en konversation i sms-programmet för att något i överhuvudtaget ska dyka upp i konversationslistan. Även fast det funkar som en workaround så blir resultatet inte optimalt eftersom jag på något sätt måste tajma in rätt nummer med rätt thread_id för att det inte ska se helknasigt ut (Person A som titel för en konversation med Person B). Finns det något sätt att på ett eget sätt skapa dessa konversationer i mitt program? (content://sms/conversations/ verkar inte funka)

    Koden jag använder för att spara ett sms till databasen.
    Kod:
        private void addText(ArrayList<Value> text) {
        	ContentValues values = new ContentValues();
        	for (Value value : text) {
        		if (!value.key.equals("_id")) {
            		values.put(value.key, value.value);
        		}
        	}
        	Log.i("Sms", "Added text!");
        	
        	context.getContentResolver().insert(Uri.parse("content://sms"), values);
        }
    Jag är tacksam för all hjälp jag kan få :)
     
  2. Adam2

    Adam2 Adult Droid Medlem

    Blev medlem:
    26 jul 2010
    Inlägg:
    732
    Mottagna gillanden:
    55

    MINA ENHETER

    Kan det inte vara så enkelt att thread_id är samma som _id?
    Om det inte är så måste det ju finnas en tabell som "konverterar" ett visst thread_id till ett kontakt-ID... :-S
     
  3. MultiHaffarN

    MultiHaffarN Kid Droid Medlem

    Blev medlem:
    5 aug 2011
    Inlägg:
    45
    Mottagna gillanden:
    10

    MINA ENHETER

    Vad jag vet så är thread_id ett nummer som identifierar en konversation med en annan och _id är något som identifierar själva meddelandet.

    Jag lyckades hursomhelst lösa problemet genom att ignorera thread_id variabeln också, istället för bara _id. Då kopierades alla mina gamla sms över och syntes i appen :D Det enda problemet var att jag behövde öppna och stänga varje konversation för att den skulle visa rätt senaste meddelande. Men det var helt acceptabelt.. :P
     
  4. Adam2

    Adam2 Adult Droid Medlem

    Blev medlem:
    26 jul 2010
    Inlägg:
    732
    Mottagna gillanden:
    55

    MINA ENHETER

    Hmm, jag tänkte nog lite konstigt där. Jag menar bara att varje meddelande borde ju vara kopplat till en kontakt (contact_id eller rent av telefonnummer). För att programmet sedan ska kunna skapa en tråd måste den ju inte bara leta upp alla meddelanden som tillhör samma person utan även knyta tråden till personen. Tråden borde således ha contact_id eller telefonnummer i sin tabell också.

    Sent from my Nexus S using Tapatalk