Wo im Dateisystem werden SMS-Nachrichten gespeichert?

Wo im Dateisystem werden SMS-Nachrichten gespeichert?

Ich verwende den ES File Explorer, um herumzustöbern, kann dies aber anscheinend nicht finden - befindet es sich auf dem Telefon oder der SD und wo?

Ich habe ein HTC Wildfire, aber ich würde mir vorstellen, dass es von Anbieter zu Anbieter nicht sehr unterschiedlich ist (obwohl ich ein iOS-Entwickler bin, der wenig über Android weiß).

Antworten (4)

Siehe hier: https://stackoverflow.com/questions/4809874/how-to-access-the-sms-storage-on-android

Das Wesentliche ist, dass SMS/MMS in Datenbanken auf dem Telefon gespeichert sind und die Antwort auf die Frage den Link zu diesem Tutorial enthält .

Der Speicherort der Datenbank kann von Telefon zu Telefon variieren, aber Sie können sie mit diesem Befehl über adb nachschlagen (Sie müssen root sein, um sie zu finden, da sie sich im geschützten Speicherbereich befindet):

find / -name "*mmssms*"

Auf meinem Gerät (Samsung Galaxy S) tauchten diese Datenbanken auf:

./dbdata/databases/com.android.providers.telephony/mmssms.db
./data/data/com.jb.gosms/databases/gommssms.db

Die erste ist die native Datenbank und die zweite stammt von der SMS-App, die ich verwende.

könnten Sie erklären, wie es gespeichert wird ... es sieht aus wie XML? auch wo ist es? - Ich spreche nicht aus Codierungssicht, da ich nichts über die Android-Entwicklung weiß.
Es ist eine SQLite-Datenbank. Sie können es mit einem SQLite-Viewer anzeigen - welches Betriebssystem verwenden Sie?
Und Sie müssen root sein, um auf die Datenbank zugreifen zu können. Fügen Sie dies der obigen Antwort hinzu.
Hier ist ein plattformunabhängiger SQLite-Viewer, wenn Sie sich diese Dateien ansehen möchten: http://sourceforge.net/projects/sqlitebrowser/
Vielen Dank für diese Antwort! Ich hatte ein seltsames Problem, bei dem das Senden von SMS an einen Kontakt diese an andere Kontakte sendete. Ich musste einen Eintrag in canonical_addressesin bearbeiten mmssms.db. Jetzt funktioniert es wieder wie es soll.
@masterjo: Der SQLite-Datenbankbrowser wurde seit 2009 nicht mehr entwickelt und konnte nichts aus der .db-Datei anzeigen, als ich es heute versuchte. Hier ist ein weiterer SQLite-Browser, der funktioniert hat – sqlitestudio.one.pl
Auf kitkat:device/data/data/com.android.providers.telephony/databases/mmssms.db
Ich habe meine unter `device\data\data\com.android.messaging\databases` auf Android Oreo gefunden.

Hier ist auch eine hilfreiche Information.

Dies ist der absolute Pfad zur SMS- und MMS-DB auf den meisten Android-Geräten:

/data/data/com.android.providers/telephony/databases/mmssms.db

Diese sollte eigentlich umbenannt werden in /data/data/com.android.providers.telephony/databases/mmssms.db. Beachten Sie die .telephony
Auf kitkatdevice/data/data/com.android.providers.telephony/databases/m‌​mssms.db

Sieht so aus, als wäre es data/User_DE/0/com.android.providers.telephony/databasesmit Nougat umgezogen.

Zumindest ist es hier auf meinem Nexus 6 zu finden. Hoffe, das hilft.

Ich habe auch festgestellt, dass dies der Ort auf Android 11 ist. Beachten Sie, dass user_dees sich um Kleinbuchstaben handelt, nicht um Großbuchstaben, wie Sie es angegeben haben

Beachten Sie, dass sich ab Kitkat (Android 4.4, veröffentlicht im September 2013) der Standardpfad geändert hat von:

/data/data/com.android.providers/telephony/databases/mmssms.db

zu

/data/data/com.android.providers.telephony/databases/mmssms.db

Update: Wie in den Kommentaren erwähnt, existiert der letztere Pfad bereits in JB.

Die Änderungen müssen lange vor dem Start von KitKat eingeführt worden sein, da /data/data/com.android.providers.telephony/databases/mmssms.dbes in meinem JB existiert.
Nun, JB ist eine Veröffentlichung vor KK. Also, "viel früher" ist vielleicht etwas übertrieben. ;-)