Главная » Разработка для Android » Передача SMS и MMS из вашего приложения с помощью Намерений и стандартного клиента

0

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

Чтобы это сделать, вызовите метод startActivity с помощью Намерения, которому присвоено действие Intent.ACTION_SENDTO. В качестве данных для Намерения укажите номер адресата, используя схему sms:. С помощью дополнительного параметра sms_body задайте текст сообщения. Все эти шаги продемонстрированы в листинге 12.13.

Листинг 12.13. Передача SMS с помощью Намерения

Intent smsIntent = new Intent(Intent.ACTION_SENDTO, Uri.parse("sms:55512345"));

smsIntent.putExtra("sms_body", "Press send to send me");

startActivity(smsIntent);

Вы также можете прикреплять файлы  (фактически, создавая  MMS) к своим сообщениям.  Добавьте  параметр  Intent.EXTRA_STREAM, ассо- циировав  его с путем URI  к вложению,  и присвойте  параметру  type тип MIME  прикрепленного ресурса.

Обратите  внимание,  что стандартное  приложение для работы с MMS не содержит  Фильтра намерений для действия  ACTION_SENDTO с уста- новкой  параметра  type. Вместо этого необходимо  использовать действие ACTION_SEND, а также добавить телефонный номер в качестве дополни- тельного параметра address, как показано в листинге 12.14.

Листинг 12.14. Отправка MMS с прикрепленным изображением

// Получите путь URI к данным, которые нужно прикрепить.

Uri attached_Uri = Uri.parse("content://media/external/images/media/1");

// Создайте новое Намерение для передачи MMS

Intent mmsIntent = new Intent(Intent.ACTION_SEND, attached_Uri); mmsIntent.putExtra("sms_body", "Please see the attached image"); mmsIntent.putExtra("address", "07912355432"); mmsIntent.putExtra(Intent.EXTRA_STREAM, attached_Uri); mmsIntent.setType("image/png");

startActivity(mmsIntent);

ПРИМЕЧАНИЕ

При запуске примера, показанного в листинге 12.14, пользователю, вероятно, будет предложено выбрать одно из нескольких приложений, способных выполнять запросы подобного рода, включая Gmail, клиент для работы с e-mail и программу для отправки SMS.

Источник: Майер P. Android 2 : программирование приложений для планшетных компьютеров и смартфонов : [пер. с англ. ] / Рето Майер. — М. : Эксмо, 2011. — 672 с. — (Мировой компьютерный бестселлер).

По теме:

  • Комментарии