Невозможно прочитать из содержимого: // смс / все - PullRequest
1 голос
/ 14 октября 2011

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

Отдельно оба content://sms/inbox и content://sms/sent работают хорошо.

Как объединить содержимое из двух URI и упорядочить по времени?

Могу ли я использовать content://sms/all?

При использовании ALL CONTENT URI возвращается нулевое значение.

Как это сделать?

Ответы [ 2 ]

4 голосов
/ 17 октября 2011

Наконец-то нашел ответ на этот вопрос.

content://sms/all

это то, что я не смог найти.

Но для получения как отправленных, так и полученных мы можем использовать

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

Cursor cur = getContentResolver().query(selectUri,null,"thread_id="+threadid, null,"DATE desc");

Этот фрагмент получает и отображает в порядке убывания

Спасибо всем

0 голосов
/ 14 октября 2011

У меня была такая же проблема. Для этого вы можете использовать MatrixCursor. То, что я сделал, -

  1. Получить все смс от content://sms/inbox для идентификатора резьбы

  2. Получить все смс от content://sms/sent для идентификатора потока

  3. Поддерживайте массив и сортируйте их в нужном вам порядке (я сделал это, используя сортировку по пузырькам)

  4. Теперь определим и инициализируем матрицуКурсора

    (См .: http://groups.google.com/group/android-developers/browse_thread/thread/470dd3a1703848eb/d7e70618ce413261?q=MatrixCursor+join+two+tables для MatrixCursor)

  5. Добавить все отсортированные записи в ваш matrixCursor

    (Обратите внимание, что добавление этой записи должно происходить в последовательности, в какое время и из какой папки (входящие или отправленные) они поступают. MatrixCursor просто позволяет создать пользовательский курсор, поэтому вам нужно поддерживать последовательность.)

...