web-dev-qa-db-fra.com

Comment accéder au stockage SMS sur Android?

Débutant Android dev ici.

J'essaie de créer une application qui lira les SMS messages stockés sur l'appareil, puis donnera aux utilisateurs des statistiques sur leurs habitudes (comme qui ils envoient souvent des messages, mots courants, etc.).

Mais à ma connaissance, il ne semble pas y avoir de moyen de le faire. J'ai regardé autour de moi sur les forums et la plupart des gens parlent d'accéder à la boîte de réception où vous pouvez trouver des messages que l'utilisateur n'a pas lus. Comment alors l'application par défaut et un tiers (Handcent par exemple) peuvent-ils afficher les mêmes textes? Ils ne conservent pas leur propre base de données car Handcent affichera 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 été lus auparavant).

33
eternalmatt

Pour un exemple concret d'accès à la base de données SMS/MMS, jetez un œil à gTalkSMS .

26

Vous devrez appeler la classe SmsManager. Vous allez probablement avoir besoin d'utiliser le STATUS_ON_ICC_READ constant et peut-être mettre ce que vous obtenez dans la base de données locale de vos applications 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, afin que les utilisateurs voient que vous avez accès à leur SMS appelé dans la boîte de dialogue des autorisations qu'ils obtiennent lors de leur installation. Voir SMS est inhabituel et pourrait rebuter certains utilisateurs. Bonne chance.

Voici le lien qui va en profondeur sur le Sms Manager

2
cigloo