SMS отсутствует в результатах поиска контента на Android Marshmallow

Некоторые текстовые сообщения отсутствуют и никогда не отображаются в URI поставщика содержимого: // sms с момента выхода Samsung S7. Я заметил это между несколькими устройствами Samsung (S6 и / или S7), которые находятся на одном носителе (в данном случае T-Mobile), но не могут быть ограничены. Эти текстовые сообщения отображаются в стандартном приложении обмена сообщениями, но я не могу найти, как получить к ним доступ. Имейте в виду, что я получаю 97% текстовых сообщений только через этого контент-провайдера, но последние 3% ускользают от меня.

Uri uri = Uri.parse("content://sms/");
String[] projection_sms = { "*" };
Cursor cursor = getContentResolver().query(uri, projection_sms, "", null, null);

Я также заглянул внутрь SIM-карты, чтобы узнать, не пропало ли SMS, и ничего не нашел:

Uri uri = Uri.parse("content://sms/icc");

Я также просмотрел все MMS и обнаружил, что их там тоже нет.

<uses-permission android:name="android.permission.READ_SMS" />

Я только хочу читать SMS в этом случае, и в соответствии с документами для Android вам потребуется только указанное выше разрешение для чтения из базы данных SMS / MMS. Я понимаю, что в KitKat произошло изменение, которое позволило приложению заменить стандартное стандартное приложение, но в данном конкретном случае я хочу только читать SMS.

Так что, если эти SMS не находятся в правильных местах в БД и не находятся на SIM-карте, то где они (или я должен сказать в Android) они будут?

 MultiDeveloper27 июн. 2016 г., 05:35
Хм, вау, я думаю, что вы абсолютно правы. Я даже не знал о RCS. Большое спасибо! Разрешает ли Google доступ к сообщениям RCS? Или это собственность для отдельного перевозчика?
 MultiDeveloper27 июн. 2016 г., 05:51
Большое спасибо за вашу помощь. Очень ценится!
 MultiDeveloper27 июн. 2016 г., 06:13
Да, определенно вынести это как ответ. Похоже, что T-Mobile может похвастаться 40 миллионами пользователей своей службы Advanced Messaging.
 Mike M.27 июн. 2016 г., 06:00
Нет проблем. Рад помочь. Я, вероятно, должен вставить это в ответ, так как это обязательно придет снова, так как RCS становится более распространенным явлением. Я сделаю кое-что вместе после того, как проведу небольшое исследование, чтобы узнать, где Google, и насколько это приемлемо. Ура!
 Mike M.27 июн. 2016 г., 05:22
У них есть какие-то другие характеристики? Мол, они все действительно старые? Или это просто случайно? Кроме того, вы уверены, что эти сообщения были отправлены с помощью SMS, а не что-то вроде RCS? Некоторые приложения легко объединяют их при отображении сообщений, но RCS не будет сохраняться в поставщике SMS. Видимо T-Mobile звонит RCSРасширенный обмен сообщениямикстати
 Mike M.27 июн. 2016 г., 05:43
Да, это будет зависеть от перевозчика, атм. Пока нет никакого стандартного API для RCS, AFAIK, хотя он может в конечном итоге оказаться в SDK (если он еще не в N; не знаю, я немного отстал), так как в последний раз я слышал, Google настаивал на этом заменить смс.
 Mike M.27 июн. 2016 г., 03:43
Какие сообщения отсутствуют? Ваше приложение не по умолчанию получит толькопослал а такжевходящие сообщения, так что если этопроект, не удалосьи т.д., что вы не получаете, вот почему.
 MultiDeveloper27 июн. 2016 г., 05:50
Ой, это будет проблемой до тех пор. Мне придется посмотреть на N, чтобы увидеть, если это вариант. Похоже, еще в сентябре Google купил или ушел спать с Jibe Mobile. Да, похоже, они пытаются реализовать это в той или иной форме. Просто не уверен, как еще.jibe.google.com/jibe-platform
 MultiDeveloper27 июн. 2016 г., 05:12
Текстовые сообщения, которые отсутствуют, являются полученными сообщениями, должны быть в папке «Входящие» и также доступны в содержимом: // sms /. Эти сообщения отображаются в приложении по умолчанию как полученные, но я не могу получить к ним доступ из любого места.

Ответы на вопрос(1)

Решение Вопроса

Кажется, что сообщения, которые отсутствуют, на самом деле не SMS, аRCS Сообщения. Они не хранятся в поставщике SMS и, следовательно, не будут возвращаться из каких-либо запросов к нему, хотя приложения для обмена сообщениями на устройствах, которые поддерживают RCS, вероятно, будут отображать их все вместе без проблем. Это объясняет, почему кажется, что результаты вашего запроса неполные.

RCS (Rich Communication Services) - это, в основном, усовершенствованные SMS / MMS, предлагающие такие функциональные возможности, как индивидуальное общение в реальном времени и групповой чат, видеосвязь, обмен контентом и т. Д., В дополнение к обычным текстовым сообщениям. В настоящее время в Android нет стандартного API для этого, хотя, по сообщениям, Google находится в процессе принятия его в качестве возможной замены для SMS / MMS. Однако я не мог найти официального слова о том, как это будет интегрировано или развернуто.

Не каждый оператор предлагает RCS, и для тех, у кого есть выделенные, проприетарные приложения и API-интерфейсы для его обработки. Это, конечно, будет отличаться для каждого перевозчика / производителя, и даже брендинг варьируется в широких пределах. Большинство называют этоjoynв то время как T-Mobile маркирует это какРасширенный обмен сообщениями, Поскольку RCS становится все более распространенным явлением, оно должно стать более стандартизированным, но для поддержки RCS в вашем приложении в настоящее время потребуются специализированные компоненты и настройки.

Ваш ответ на вопрос