Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Приложение Android Messaging распознает сообщения, отправленные из другого приложения

Автор вопроса: DanОтветов: 2

Когда я отправляю SMS-сообщение в своем приложении для Android, можно ли сделать так, чтобы встроенное приложение для обмена сообщениями распознало, что сообщение было отправлено, и отобразило его в соответствующей ветке?

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

androidsmsmessaging

Ответы

Ответ 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 специально заявляет, что это не для вашего использования.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы