Android通过发件人姓名查询短信收件箱

标签 android sms

我想获取手机中特定发件人的短信列表。这些短信是从短信网关发送的,所以我不知道发件人的号码。但是,我知道发件人的姓名,例如“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/

相关文章:

java - addPrefrencesFromResources() 方法是否有替代方法?

android - 是否可以访问 Facebook 图库并让用户选择图像?

android - ViewPagerIndicator - TabPageIndicator 页面标题随机分成两行

android - 如何在android中读取特定的消息正文

android广播接收器android 4

Android:在 RelativeLayout 的 onTouchEvent 中看不到 ACTION_MOVE/UP

java - 启动后的 Android Studio 错误

java - 使用j2me通过蓝牙从一台手机向另一台手机发送短信

android - 当用户通过启动器图标打开应用程序时删除通知图标

android - 仅在 Activity 运行时接收短信