Android: передача смс на приложение по умолчанию - PullRequest
3 голосов
/ 07 января 2010

Пожалуйста, руководство, в Android, как я могу передать свою строку (менее 160 символов) во встроенное приложение или очередь SMS по умолчанию, что завершит процесс.

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

Ответы [ 3 ]

7 голосов
/ 07 января 2010

Для вызова смс-приложения по умолчанию с телом и номером телефона:

Intent intent = new Intent( Intent.ACTION_VIEW, Uri.parse( "sms:" + phoneNumber ) );
intent.putExtra( "sms_body", smsBody );
context.startActivity( intent );

По по умолчанию Я имею в виду приложение, выбранное пользователем. На самом деле лучше запускать приложение по умолчанию sms, чем встроенное , потому что вы должны уважать выбор пользователя. Если владелец устройства выбрал ChompSms в качестве приложения SMS по умолчанию, он предпочтет, чтобы ваше приложение запускало ChompSms, а не другое.

4 голосов
/ 20 января 2012

Для вызова смс-приложения по умолчанию с телом и номером телефона смс:

Uri uri = Uri.parse("smsto:123456789");   
    Intent it = new Intent(Intent.ACTION_SENDTO, uri);   
    it.putExtra("sms_body", "The Hello How R U...");   
    startActivity(it); 
3 голосов
/ 07 января 2010

Помимо ответа Томаса, вы можете использовать ACTION_SEND и createChooser(), чтобы позволить пользователю выбрать приложение для отправки вашего сообщения, будь то встроенное приложение SMS или стороннее SMS-приложение или электронная почта, GMail, Twidroid и т. д.

Вы также можете использовать SmsManager для отправки SMS самостоятельно, но это не вызовет никаких встроенных действий.

Если повезет, в документации есть место, где рассматривается ответ Томаса (в другом месте на этой странице StackOverflow), так как это самое простое решение для вашего запроса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...