4

ここで説明したメソッドを実装しています: How to Read MMS Data in Android?

SMS と MMS を 1 つのリストビューに読み込もうとしています。私はかなりうまくやっていますが、ソートしようとすると、すべての SMS が一緒にソートされ、続いてすべての MMS が一緒にソートされます。

これが私のコードです:

Cursor smsCursor = getContentResolver().query(Uri.parse("content://mms-sms/conversations/"), null, null, null, "date DESC");

2 つのソースを結合する方法、または組み込みの Android アプリのように MMS を SMS 会話に結合する方法を誰か教えてもらえますか?

編集: SMS の日付は、MMS の日付よりも数桁多いことに気付きました。

編集 2: 次のように「julianday()」を追加します。

Cursor smsCursor = getContentResolver().query(Uri.parse("content://mms-sms/conversations/"), null, null, null, "julianday(date) DESC");

MMS をリストの一番上に表示します。

4

2 に答える 2

7

注文のnormalized_date desc代わりに試してください。date desc

動作するはずです。

于 2012-09-08T15:52:41.270 に答える
0

ここでの本当の問題は、データベースでは、日付が SMS と MMS でまったく同じ方法で保存されていないことです。

そのため、最初に「日付」フィールドだけを探してデータベースにクエリを実行する必要があります。(一部のデバイスでクラッシュする normalized_date ではありません)。

次に、Java でプログラムによってリストを並べ替えます。MMS の場合、ここに記載されているように日付に 1000 を掛ける必要があることを考慮してください: content://mms から mms の日付を取得する方法. * または、こちら の mms の送信/受信日は常に 1970 年です

于 2015-10-01T09:40:28.340 に答える