Подтвердить что ты не робот

Как получить доступ к хранилищу SMS на Android?

Начинающий Android dev здесь.

Я пытаюсь создать приложение, которое будет читать SMS-сообщения, хранящиеся на устройстве, а затем дать статистику пользователя о своих привычках (например, о том, кого они часто сообщают, об общих словах и т.д.).

Но, насколько мне известно, не существует способа сделать это. Я смотрел на форумах, и большинство из них говорит о доступе к папке "Входящие", где вы можете найти сообщения, которые пользователь не читал. Как же тогда приложение по умолчанию и стороннее (например, Handcent) отображают одни и те же тексты? Они не хранят свою собственную базу данных, потому что Handcent отобразит все тексты при новой установке.

tl; dr: Как читать SMS-сообщения на устройствах Android, особенно сообщения, которые были прочитаны ранее.

4b9b3361

Ответ 1

Для конкретного примера доступа к базе данных SMS/MMS см. gTalkSMS.

Ответ 2

Вам нужно будет вызвать класс SmsManager. Вероятно, вам придется использовать константу STATUS_ON_ICC_READ и, возможно, поставить то, что вы получаете там, в локальные базы данных ваших приложений, чтобы вы могли отслеживать то, что вы уже прочитали, и новые вещи для вашего приложения для анализа. НО имейте в виду, что вы должны объявить использование класса в своем манифесте, чтобы пользователи увидели, что у вас есть доступ к их SMS, вызванным в диалоговом окне разрешений, которое они получают при их установке. Просмотр доступа к SMS необычен и может отключить некоторых пользователей. Удачи.

Вот ссылка, которая углубляется в Sms Manager

Ответ 3

Сделайте следующее, загрузите SQLLite Database Browser из здесь:

Найдите свой дБ. файл на вашем телефоне.

Затем, как только вы установите программу, перейдите в раздел "Обзор данных", вы увидите все SMS-сообщения!

Фактически вы можете экспортировать данные в файл excel или SQL.