在此先感謝您的幫助。如何在Android應用程序中檢索並顯示聯繫人姓名和相應的SMS正文?
我想做一個看起來類似於原生android消息應用的開始活動的活動:聯繫人圖像,聯繫人姓名,郵件正文的前幾個單詞。
到目前爲止,在本網站的幫助下,我可以弄清楚如何在列表視圖中檢索發件人電話號碼。這裏是我使用的代碼的一部分:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
List<SMSData> smsList = new ArrayList<SMSData>();
Uri uri = Uri.parse("content://sms/inbox");
Cursor c = getContentResolver().query(uri, null, null, null, null);
if (c.moveToFirst()) {
for (int i = 0; i < c.getCount(); i++) {
SMSData sms = new SMSData();
sms.setBody(c.getString(c.getColumnIndexOrThrow("body"))
.toString());
sms.setNumber(c.getString(c.getColumnIndexOrThrow("address"))
.toString());
smsList.add(sms);
c.moveToNext();
}
}
c.close();
setListAdapter(new ListAdapter(this, smsList));
我的問題是,如何檢索並與相應的短信體顯示聯繫人姓名???
我到目前爲止找到的最接近的解決方案是this,但我無法弄清楚如何將我的代碼和此解決方案放在一起。
你鏈接到似乎很簡單的代碼,我不明白的地方你的問題是什麼? – njzk2
在你的類中添加[getContactName](http://stackoverflow.com/questions/11451617/names-not-displayed-on-retrieving-sms-details?answertab=votes#tab-top)方法以及清單文件的權限然後傳遞聯繫電話號碼:'smsList.add(getContactName(c.getString(c.getColumnIndexOrThrow(「address」))。toString()));' –