首页 > 解决方案 > 在 Android 上使用 Content Resolver 阅读消息时,person 字段始终为空。不管联系人是否存在

问题描述

我正在尝试以编程方式获取手机上所有 SMS 消息的列表。我了解如何获取数据,但是当我使用测试代码将其打印出来时,它并没有告诉我消息属于哪个联系人。这是我的代码:

Cursor cursor = mContext.getContentResolver().query(Uri.parse("content://sms/inbox"), null, null, null, null);
if (cursor.moveToFirst()) { // must check the result to prevent exception
    do {
        StringBuilder msgData = new StringBuilder();
        for(int idx=0;idx<cursor.getColumnCount();idx++)
        {
            System.out.println(String.format("%s: %s", cursor.getColumnName(idx), cursor.getString(idx)));
        }
        System.out.println("---------------------------------");
    } while (cursor.moveToNext());
} else {
}

我希望能够将每条消息链接到手机联系人数据库中的特定联系人。我看到有一个人员字段,但无论消息是否发送给联系人,它似乎都是空的。如何获取消息所属的联系人?

标签: javaandroidmobile

解决方案


推荐阅读