33 votes

Comment accéder au stockage des SMS sur Android ?

Débutant en développement Android ici.

J'essaie de créer une application qui lira les messages SMS stockés sur l'appareil et donnera ensuite à l'utilisateur des statistiques sur ses habitudes (comme les personnes à qui il envoie souvent des messages, les mots courants, etc.)

Mais à ma connaissance, il ne semble pas y avoir de moyen de le faire. J'ai cherché sur les forums et tout ce dont on parle, c'est de l'accès à la boîte de réception où l'on peut trouver les messages que l'utilisateur n'a pas lus. Comment alors l'application par défaut et celle d'un tiers (Handcent par exemple) peuvent-elles afficher les mêmes textes ? Ils ne conservent pas leur propre base de données car Handcent affiche tous les textes lors d'une nouvelle installation.

tl;dr : Comment lire les messages SMS sur un appareil Android, en particulier les messages qui ont déjà été lus.

26voto

Pour un exemple concret d'accès à la base de données SMS/MMS, consultez le site gTalkSMS .

2voto

cigloo Points 21

Vous allez devoir appeler le SmsManager classe. Vous aurez probablement besoin d'utiliser le STATUS_ON_ICC_READ et peut-être mettre ce que vous obtenez dans la base de données locale de votre application afin que vous puissiez garder une trace de ce que vous avez déjà lu par rapport aux nouvelles choses que votre application doit analyser. MAIS gardez à l'esprit que vous devez déclarer l'utilisation de la classe dans votre manifeste, de sorte que les utilisateurs verront que vous avez accès à leurs SMS dans la boîte de dialogue des autorisations qu'ils obtiennent lors de l'installation. Voir l'accès aux SMS est inhabituel et pourrait rebuter certains utilisateurs. Bonne chance.

Voici le lien qui permet d'approfondir la question du gestionnaire de sms.

-4voto

Hocsan Points 9

Faites ce qui suit, téléchargez SQLLite Database Browser à partir de aquí :

Localisez votre fichier db. dans votre téléphone.

Ensuite, dès que vous aurez installé le programme, allez sur : "Parcourir les données", vous y verrez tous les SMS ! !!

Vous pouvez en fait exporter les données vers un fichier Excel ou SQL.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X