В моем приложении мне нужно запросить журнал SMS и MMS, чтобы получить историю всех входящих и исходящих сообщений. Этот код прекрасно работает для SMS:
Cursor c = cr.query(Uri.parse("content://sms"), null, null, null, null);
Но когда я пытаюсь сделать следующее, я получаю совершенно другие результаты:
Cursor c = cr.query(Uri.parse("content://mms"), null, null, null, null);
SMS-запрос возвращает данные, которые включают адрес сообщения (номер телефона), имя контакта, тему сообщения, тело сообщения и т. д. Тот же запрос для MMS возвращает кучу пустых или числовых полей значений, которые я не могу понять. из. Мне действительно нужен список всех MMS-сообщений, находящихся в данный момент на телефоне, с номером телефона или идентификатором контакта, связанным с ним, и если сообщение было входящим или исходящим сообщением. В результатах запроса SMS я могу получить номер телефона из поля address
и тип входящего/исходящего из поля type
, но ни один из них не существует, когда я запрашиваю MMS.
Есть ли другой контент Uri, который мне нужно запрашивать для такого рода данных MMS? Любая помощь будет принята с благодарностью.
Изменить: просто чтобы уточнить, я полностью осознаю, что это неподдерживаемый поставщик контента. Однако, поскольку нет поддерживаемого способа сделать это, я полностью готов протестировать и поддержать это для каждого телефона/версии ОС. Просто чтобы продолжить обсуждение, скажем, что этот вопрос относится к Android 1.6 на HTC Dream (G1) или HTC Magic (MyTouch). Как бы вы выполнили эту задачу на конкретном телефоне и версии ОС? Или, если это невозможно на них, но возможно на Android 2.0 на Motorola Droid, то я бы также нашел эту информацию очень полезной. Но, тем не менее, давайте придерживаться обсуждения того, как выполнить эту задачу поддерживаемым или неподдерживаемым способом, и не позволять этому превращаться в обсуждение того, как мы все должны держаться подальше от вещей, которые не поддерживаются API, что я и делаю. найти дискуссионные группы Android, которые, как мне кажется, практически не помогают. Если я использую неподдерживаемый метод, ничего страшного, покажите мне поддерживаемый метод выполнения этой задачи. Если нет поддерживаемого метода, то почему API позволяет мне запрашивать разрешение на чтение SMS через android.permission.READ_SMS?