Когда я отправляю SMS-сообщение в своем приложении для Android, можно ли сделать так, чтобы встроенное приложение для обмена сообщениями распознало, что сообщение было отправлено, и отобразило его в соответствующей ветке?
В настоящее время, когда мое приложение отправляет сообщение, нет записи об его отправке. Я хотел бы, чтобы сообщение отображалось как любое другое сообщение, отправленное с телефона. Я надеюсь на что-то более простое, чем ручное добавление сообщения в базу данных смс.
Ответ 1 · рейтинг 6 · Asmo Soinio
Вы можете использовать следующий код для хранения в той же папке, что и приложение для обмена сообщениями.
ContentValues values = new ContentValues();
values.put("address", phoneNumber);
values.put("body", smsText);
// Note: This uses an Android internal API to save to Sent-folder
context.getContentResolver().insert(Uri.parse("content://sms/sent"), values);
Это использует некоторые внутренние API и может тормозить в будущих выпусках / не работать на некоторых телефонах, но, как я упоминал в своем комментарии, некоторые приложения с миллионами установок делают что-то подобное.
Ответ 2 · рейтинг 2 · CommonsWare
можно ли заставить встроенное приложение для обмена сообщениями распознать, что сообщение было отправлено, и показать его в соответствующей ветке?
В Android нет "встроенного приложения для обмена сообщениями". Хотя на каждом устройстве с поддержкой SMS есть клиент SMS, только некоторые из них используют приложение Messaging, которое является частью проекта Android с открытым исходным кодом. Остальные используют свои.
Несмотря на это, они показывают только сообщения, которые они отправили. Понятие "отправленные" сообщения и "соответствующий поток" - это концепция клиента, а не концепция операционной системы.
Я надеюсь на что-то более простое, чем ручное добавление сообщения в базу данных смс.
В Android нет "базы смс". Вы, вероятно, думаете о поставщике контента из приложения "Сообщения". Опять же, приложение Messaging - это приложение, а не функция операционной системы, и это приложение есть не на всех устройствах. "База данных sms" приложения Messaging не документирована и не поддерживается - напротив, Google специально заявляет, что это не для вашего использования.