Еще одним обычным требованием является доступ к папке входящих SMS. Для начала понадобится добавить в файл манифеста право на чтение SMS (android. permission.READ_SMS). Добавление этого права доступа дает возможность чтения папки входящих SMS.
Чтобы читать SMS-сообщения, необходимо выполнить запрос к папке входящих SMS, .
Код в открывает папку входящих SMS и создает список, каждый элемент которого представляет собой содержимое SMS-сообщения. Часть, касающаяся компоновки, содержит простое представление TextView, которое будет хранить тело каждого сообщения по очереди. Для получения списка SMS-сообщений создается URI, указывающий на папку входящих SMS (content://sms/inbox) и затем выполняется простой запрос. После этого производится фильтрация по телу SMS-сообщения, http://ros-obrazovanie.ru/spo/interkolledzh-nou-spo-interkolledzh.html и адаптер списка устанавливается в ListActivity. Запустив код из, вы у список SMS-сообщений в папке входящих сообщений. Прежде чем запускать этот код в эмуляторе, не забудьте сгенерировать несколько SMS-сообщений, используя экран Emulator Control.
Поскольку имеется доступ к папке входящих SMS-сообщений, можно ожидать наличие доступа и к другим относящимся к SMS папкам, таким как папка отправленных сообщений и папка черновико. Единственное отличие доступа к папке входящих от доступа к другим папкам связано с указываемым URI. Например, выполнив запрос к conent://sms/sent, можно обратиться к папке отправленных сообщений. Ниже полный список папок SMS и соответствующих каждой из них URI:
Все: content://sms/all
Входящие: content://sms/inbox
Отправленные: content://sms/sent
Черновики: content ://sms/draf t
Исходящие: content://sms/outbox
Неотправленные: content://sms/failed
Находящиеся в очереди: content://sms/queued
Не доставленные: content://sms/undelivered
Разговоры: content://sms/conversations
Android комбинирует MMS- и SMS-сообщения, позволяя обращаться к поставщикам содержимого обоих типов одновременно с использованием AUTHORITY вида mms-sms. Таким образом, допускается получать доступ к URI, который выглядит так:
content://mms-sms/conversations
Отправка электронной почты
Ознакомившись со способами отправки SMS-сообщений в Android, вы можете предположить, что доступны также и аналогичные API-интерфейсы для отправки электронной почты. К сожалению, таких API-интерфейсов в Android не предусмотрено. Существует общее соглашение о том, что пользователю не нужно приложение, которое станет отправлять электронную почту за его спиной, не уведомляя его об этом. Вместо этого для отправки электронной почты вы должны обратиться к зарегистрированному приложению, работающему с электронной почтой. Например, вы можете использовать намерение с действием ACTION_SEND для запуска приложения электронной почты, .
Этот код запускает приложение электронной почты по умолчанию и позволяет пользователю решить, желает ли он отправить электронную почту. Другие дополнительные элементы, которые могут быть добавлены к намерению электронной почты, включают EXTRA_CCи EXTRA_BCC.
Давайте предположим, что вместе с сообщением электронной почты требуется отправить и вложение. Для этого можно воспользоваться примерно следующим кодом, где Uri — это ссылка на файл, который планируется поместить во вложение: