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

问题描述 投票:3回答:1

我正在通过这个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列,其中包含电话号码或联系人姓名。那么我如何才能获得短信的电话号码?我应该使用其他方法来获取所有短信吗?

android sms
1个回答
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();
}
© www.soinside.com 2019 - 2024. All rights reserved.