2012-03-22 82 views
5

與短信應用程序類似,第一個活動將顯示按人物分組的最新短信和計數號碼。通過聯繫人查詢最新的短信羣組

例子我交換了50個文本與克里斯,60阿利娜,40與雷... 該應用程序會顯示這樣的事情

Chris (50) Hey how are you lately ?  
Aline (60) Let's catch up  
Ray (40) Here is my number 
Ethan (1) I wrote a solution 

我試圖做同樣的。我查詢所有的短信,然後我排序他們。 至少它是O(n)有效率。

Cursor cur = this.getContentResolver().query(Uri.parse("content://sms"), null, null, null, null); 
int count = cur.getCount(); 

// iterate all the SMS 
for (int i=1 ; i<=count ; i++){ 
    // processing 
    .... 

    cur.moveToNext(); 
} 

有沒有辦法來查詢被人分組最新消息(接收或發送任何類型徵求意見稿),並從一個人獲取短信的號碼是多少? 我想有多個查詢。

回答

9

我認爲這會做你想要什麼:

Cursor cur = this.getContentResolver().query(Uri.parse("content://mms-sms/conversations?simple=true"), null, null, null, "normalized_date desc"); 

返回光標將包含每個對話中的最新消息和消息的每個會話的數量。

+0

它的工作原理!消息的數量是「message_count」列。不要忘記「android.permission.READ_SMS」。你從哪裏得到這個簡單的代碼片段? – 2012-03-26 14:26:03

+0

我記得在做自己的短信解析時陷入了完全相同的問題。 Google做了一個快速搜索,實際上找到了一些資源。很高興它的工作。 – gelupa 2012-03-27 04:51:07

+0

好的謝謝你的幫助。我沒有用Google搜索關鍵詞 「對話」 :) – 2012-03-27 08:18:12

相關問題