Où les messages SMS sont-ils stockés dans le système de fichiers?


56

Où les messages SMS sont-ils stockés dans le système de fichiers?

J'utilise ES File Explorer pour naviguer mais je n'arrive pas à trouver ceci - est-ce au téléphone ou sur la carte SD, et où?

J'ai un HTC Wildfire, mais j'imagine qu'il ne varie pas énormément d'un fournisseur à l'autre (même si je suis un développeur iOS qui en sait peu sur Android).

Réponses:


43

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

L'essentiel est que les SMS / MMS résident dans des bases de données sur le téléphone et la réponse à la question contient le lien vers ce tutoriel .

L'emplacement de la base de données peut varier d'un téléphone à l'autre, mais vous pouvez le rechercher avec cette commande via adb (vous devez être root pour le trouver car il se trouve dans la zone de stockage protégée):

find / -name "*mmssms*"

Sur mon appareil (Samsung Galaxy S), ces bases de données sont apparues:

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

Le premier étant la base de données native et le second par l'application sms que j'utilise.


Pourriez-vous expliquer comment il est stocké ... cela ressemble à XML? aussi où est-il? - Je ne parle pas d'un point de vue du code car je ne sais rien du développement Android.
Alex Coplan

3
C'est une base de données sqlite. Vous pouvez le regarder avec un visualiseur sqlite - quel système d'exploitation utilisez-vous?
joweiser

Et vous devez être root pour accéder à la base de données - vous allez l'ajouter à la réponse ci-dessus.
joweiser

Voici une visionneuse sqlite indépendante de la plate-forme si vous souhaitez consulter ces fichiers: http://sourceforge.net/projects/sqlitebrowser/
joweiser

2
@masterjo: SQLite Database Browser n'a pas été développé depuis 2009 et il ne pouvait rien afficher à partir du fichier .db lorsque je l'ai essayé aujourd'hui. Voici un autre navigateur SQLite qui a fonctionné - sqlitestudio.one.pl
Dan Dascalescu

10

Voici une information utile également.

C’est le chemin absolu vers les bases de données SMS et MMS sur la plupart des appareils Android:

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


Cela devrait en fait être renommé /data/data/com.android.providers.telephony/databases/mmssms.db. Remarquez la .telephony
smac89

Sur kitkatdevice/data/data/com.android.providers.telephony/databases/m‌​mssms.db
JinSnow

9

Notez que, à partir de Kitkat (Android 4.4, sorti en septembre 2013), le chemin par défaut a été modifié:

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

à

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

Mise à jour: Comme mentionné dans les commentaires, ce dernier chemin existe déjà dans JB.


Les modifications doivent avoir été introduites bien avant que KitKat ne soit lancé car il /data/data/com.android.providers.telephony/databases/mmssms.dbexiste dans mon JB.
Seigneur du Feu

Eh bien, JB est une version avant KK. Donc, "bien avant" peut être un peu exagéré. ;-)
eyecatchUp

8

On dirait qu'il a déménagé data/User_DE/0/com.android.providers.telephony/databasesavec Nougat.

Au moins, c’est là que l’on peut le trouver sur mon Nexus 6. J'espère que cela vous aidera.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.