【发布时间】:2014-08-02 19:24:07
【问题描述】:
我使用 Uri.parse("content://sms/inbox") 来阅读短信,但我不知道如何阅读发件人的姓名。我遇到了类似的问题,但找不到明确的答案,只有使用建议:
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null,null, null);
String name = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME));
这给了我我的联系人的名字,但不是每条短信的具体名字。
顺便说一句,当我使用“body”时,它会显示我所有的 SMS 历史记录。有没有办法检查:
messageString = cursor.getString(0); //let's say 0 is "body"
(messageString == "HI") txt.setText("BYE");
而不仅仅是获取完整的收件箱内容?
【问题讨论】:
-
您需要获取 SMS 的地址,然后使用该地址签入您的联系人,在某些手机中显示名称可能为空,并且要检查字符串,请使用
.equals()而不是==