Открыть приложение для отправки SMS с параметрами в Android 2.2 - PullRequest
3 голосов
/ 08 декабря 2011

У меня проблема. Задача: Открыть стандартную программу / окно SMS Send (новое сообщение) с двумя параметрами: номер телефона и текстовое тело.

Я нашел два решения:

1)

Intent intent = new Intent(Intent.ACTION_VIEW);
intent.putExtra("sms_body", "SMS text");
intent.putExtra("address", "123456789");
intent.setType("vnd.android-dir/mms-sms"); 
startActivity(intent);

Отлично работает во всех эмуляторах Android 2.x.

В реальном телефоне с Android 2.2 (возможно, 2.3.x) я вижу только тело SMS без номера телефона

2)

Uri uri = Uri.parse("smsto:123456789");  
Intent intent = new Intent(Intent.ACTION_SENDTO, uri);  
intent.putExtra("sms_body", "SMS text"); 
startActivity(intent);

Прекрасно работает во всех эмуляторах Android 2.x. В реальном телефоне с Android 2.2 (возможно, 2.3.x) я вижу только номер телефона без основного текста SMS

В AndroidManifest.xml:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.SEND_SMS" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.READ_SMS" />
<uses-permission android:name="android.permission.WRITE_SMS"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

Фрагменты, протестированные на: Samsung Galaxy Tap 7` P1000 с Android 2.2 Motorola Milestone (кодовое название США: Motorola Droid) Android 2.2 Up3

Оба метода хорошо работают на Android 2.1 (LG GT540 Optimus).

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