我想获取手机中特定发件人的短信列表。这些短信是从短信网关发送的,所以我不知道发件人的号码。但是,我知道发件人的姓名,例如“Google”。
这是我目前的尝试
final String SMS_URI_INBOX = "content://sms/inbox";
Uri uri = Uri.parse(SMS_URI_INBOX);
String[] projection = new String[] { "_id", "address", "person", "body", "date", "type" };
Cursor cur = getContentResolver().query(uri, projection, "person LIKE'%" + "Google" + "'", null, "date asc");
但是,光标是空的。
最佳答案
你快到了
final String SMS_URI_INBOX = "content://sms/inbox";
Uri uri = Uri.parse(SMS_URI_INBOX);
String[] projection = new String[] { "_id", "address", "person", "body", "date", "type" };
Cursor cur = getContentResolver().query(uri, projection, "address LIKE '%Google%'", null, "date asc");
不是查询“人”,而是查询“地址”。 SMS 网关使用名称作为地址。
关于Android通过发件人姓名查询短信收件箱,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30159649/