2012-05-14 65 views
0

這屬於一個有兩個textview的listview。第一個文本視圖列出了聯繫人,而第二個文本視圖則假設在收件箱中顯示來自尊重聯繫人的郵件數量。我可以將我的SMS收件箱的內容放入數組中嗎?

我已經通過解析

String inbox = "content://sms/inbox" 

成字符串能夠數清我我的設備上的收件箱中的郵件數量。但我想深入一點,而不僅僅是一筆過。是否可以深入收件箱並將郵件的總數與相應的聯繫人分開?一個例子是如果我有3個聯繫人和20個消息的總和,contact1有11個消息,contact2有4個消息,contact3有6個消息。

回答

0

要計算每個發件人的收件箱中有多少文本,可以使用SQL Group By子句。這是將Group By子句潛入ContentProvider的流行技巧:

Cursor cursor = getContentResolver().query(
     Uri.parse("content://sms/inbox/"), 
     new String[] { "_id", "address", "count(*) as totals" }, 
     "1) Group By (address", 
     null, 
     null); 

但是,這對於Android 4.0+不起作用。 (對於設計沒有Group By子句的ContentProviders,就像製造一個沒有數字的鍵盤一樣......)對於4.0+,我會建議迭代通過常規光標並自己排序消息。

相關問題