Отправить SMS Intent в Android

String x="Hello World"; String y="You Rock!!!"; Intent sendIntent = new Intent(Intent.ACTION_VIEW); sendIntent.putExtra("sms_body", x); sendIntent.putExtra("sms_body", y); sendIntent.setType("vnd.android-dir/mms-sms"); startActivity(sendIntent); 

Я пытаюсь отправить несколько тел сообщений через SMS, но только «You Rock !!!» . То, что я хочу сделать, – это отображать несколько сообщений и предварительно форматировать их (в разных строках).

Так, например …

 Hello World You Rock!!! 

Если вы хотите отправить многострочное сообщение, просто поставьте новую строку между двумя строками.

 x + "\n" + y 

Если вы хотите отправить несколько сообщений, нет способа сделать это, о чем я знаю. Вы можете использовать [startActivityForResult] [1], а затем в своем методе [onActivityResult] [2] вы можете отправить следующее сообщение.

[1]: http://developer.android.com/reference/android/app/Activity.html#startActivityForResult(android.content.Intent , int)

[2]: http://developer.android.com/reference/android/app/Activity.html#onActivityResult (int, int, android.content.Intent)

Проблема в том, что вы переопределяете расширенные данные, поскольку putExtra не добавляет в список все, что вы пишете внутри аргумента Bundle (второе), но перезагружаете его содержимое. Вот почему вы можете видеть только последнюю часть, потому что вы сначала задали дополнительный «sms_body» в «Hello World», а затем сбросили его на «You Rock !!!».

Я не пробовал, но он может работать, если вы сделаете что-то вроде этого:

 String smsBody="Hello World\nYou Rock!!!"; Intent sendIntent = new Intent(Intent.ACTION_VIEW); sendIntent.putExtra("sms_body", smsBody); sendIntent.setType("vnd.android-dir/mms-sms"); startActivity(sendIntent); 

Символ \ n является специальным символом новой строки (http://en.wikipedia.org/wiki/Newline), что означает, что вы записываете эту строку в две строки (разделяя их прямо там, где \ n). \ N присутствует почти в каждом строковом представлении, поэтому он может работать и здесь. Попробуй и скажи нам.

Кстати и как совет, попробуйте дать понятные имена переменным (а не только x или y). Если вы хотите повторно использовать код или вы обнаружите ошибки, вы можете узнать, что такое x или y.

С наилучшими пожеланиями

Intereting Posts
Android VideoView.setAlpha не работает (Xoom с 3.0) Не удалось переключиться на вариант отладки сборки в Android Studio Android studio 2.3 canary отсутствует опция «Запустить автономный SDK-менеджер» в «SDK Manager» Android Money Input с фиксированной десятичной запятой Java.lang.RuntimeException: InputChannel не инициализируется Как объединить растровые изображения в android? Как включить / отключить поведение FloatingActionButton Проект изнашивания Android с 3 ароматами, 3 buildTypes и 2 applicationIdSuffixes Android: установка тонального сигнала SMS-уведомления Как я могу использовать Android для квалифицированного файла ресурсов только на старых устройствах? ACCESS_FINE_LOCATION Разрешения AndroidManifest не предоставляются Как использовать AsyncTask для отображения ProgressDialog во время фоновой работы в Android? Загружать анимацию с помощью Packer текстуры в andengine Android – линейная компоновка bringToFront () Обнаруживать, загружается ли веб-страница в встроенное приложение Facebook на iOS / Android