2010-10-06 3 views
8

Что мне нужно:
- Отправьте SMS без взаимодействия с графическим интерфейсом (выбор клиента для отправки SMS выходит)
- SMS должен быть виден в потоке опрошена от «содержания: // ммс-SMS/разговоры /» + ThreadIdAndroid отправить SMS, который виден в SMS-нить (без GUI)

в настоящее время я использую SMSManager:

SmsManager sms = SmsManager.getDefault(); 
sms.sendTextMessage(phone, null, message, null, null); 

есть ли способы сделать это для всех устройств с учетом каждого из них есть другое приложение для SMS. Заранее спасибо.

ответ

12

Просто понял это, вы можете использовать ContentResolver для вставки SMS и не забудьте добавить разрешения: «использует-разрешение андроида: Name =» android.permission.WRITE_SMS»

ContentValues values = new ContentValues(); 
    values.put("address", phone); 
    values.put("body", message); 
    getContentResolver().insert(Uri.parse("content://sms/sent"), values); 
+0

ли это на самом деле работает, я попробовал, и если я использую свой собственный номер мобильного телефона и отправить его? с того же телефона с SIM-картой, в отправляемой папке появляется смс, но она никогда не отправляется. СМС никогда не поступит, если я отправлю его с кодом выше любого другого получателя/другого телефона. Так что для меня это кажется, только пункт 2) вашего первоначального требования соблюден, но не 1) - интересно, почему этот ответ получил 4 upvotes? Это работает для других? –

+1

@ Mathias: Это работает для меня. Вы должны использовать этот код вместе с sendTextMessage() в вопросе выше. Код, указанный в этом ответе, только добавляет сообщение в отправленные сообщения, он фактически не отправляет сообщение. Мне также нужно было добавить «android.permission.READ_SMS» -передачи в дополнение к WRITE_SMS для его работы. Вам также необходимо импортировать android.content.ContentValues; импортировать android.net.Uri; – alexteg

+0

@alexteg - Я получил его, работая тем временем, спасибо за ответ, хотя! –

1

Вы должны использовать следующее значение:.

values.put("thread_id", threadId); 

и это будет связано с потоком

Смежные вопросы