初心者のAndroid開発者です。
端末に保存されているSMSメッセージを読み取り、ユーザーの習慣に関する統計情報(よくメッセージを送る相手、よく使う単語など)を提供するアプリを作ろうとしています。
しかし、私の知る限り、これを実現する方法はないようです。フォーラムを見て回りましたが、ユーザーが読んでいないメッセージを見つけることができる受信トレイへのアクセスについて、誰もが最もよく話しています。では、デフォルトアプリとサードパーティ(例えばHandcent)はどのようにして同じテキストを表示することができるのでしょうか?Handcentは新規インストール時にすべてのテキストを表示するので、独自のデータベースを保持していないのです。
tl;dr: AndroidデバイスでSMSメッセージを読むにはどうすればよいですか?特に、以前に読んだことのあるメッセージを読むにはどうすればよいですか?
SmsManagerクラスを呼び出す必要があります。おそらく、定数
STATUS_ON_ICC_READ` を使用する必要があるでしょう。そして、アプリが解析するために、すでに読み込んだものと新しいものを追跡できるように、そこで得たものをアプリのローカル DB に入れることもできるでしょう。
ただし、マニフェストでクラスの使用を宣言する必要があるため、インストール時に表示されるアクセス許可ダイアログで、ユーザーが自分のSMSにアクセスできることを確認できることに留意してください。 SMSへのアクセスを見るのは珍しいことで、一部のユーザーを遠ざける可能性があります。幸運を祈ります。