如何获取设备上每条短信的电话号码?

时间:2016-09-28 16:22:30

标签: android sms

我正在使用此URI获取所有手机短信 - Telephony.Sms.Inbox.CONTENT_URI

TextBasedSmsColumns包含投影的所有列。

Cursor的构建方式如下:

cursor = getContentResolver().query(Telephony.Sms.Inbox.CONTENT_URI,
                        new String[] { BaseColumns._ID, TextBasedSmsColumns.ADDRESS },
                        null, null, null);

有一个TextBasedSmsColumns.ADDRESS列,其中包含电话号码或联系人姓名。那么我怎样总是获取短信的电话号码?我应该使用其他方法获取所有短信吗?

1 个答案:

答案 0 :(得分:0)

这就是我的方式。

Uri uriSMSURI = Uri.parse("content://sms/inbox");
Cursor cur = getContentResolver().query(uriSMSURI, null, null, null, null);
if (cur != null) {
        while (cur.moveToNext()) {
            String body = cur.getString(cur.getColumnIndexOrThrow("body"));
            //Here you will get all PhoneNumbers
            String phoneNumber = cur.getString(cur.getColumnIndexOrThrow("address"));
        }
        cur.close();
}