Uri.withAppendedPath 方法

Uri.withAppendedPath method

我想创建一个 SMS Android 应用程序。我读取了 SMS 发件人的姓名和消息正文,然后在列表视图中显示它们。我使用以下 URI 从发件人号码中读取发件人姓名。

Uri uri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(senderNumber));

这行代码是做什么的?

这会根据 senderNumber

过滤电话簿中的联系人

例子

/*
 * Returns contact's id
 */
private String getContactId(String phoneNumber, Context context) {
    ContentResolver mResolver = context.getContentResolver();

    Uri uri = Uri.withAppendedPath(PhoneLookup.CONTENT_FILTER_URI,
            Uri.encode(phoneNumber));

    Cursor cursor = mResolver.query(uri, new String[] {
            PhoneLookup.DISPLAY_NAME, PhoneLookup._ID }, null, null, null);

    String contactId = "";

    if (cursor.moveToFirst()) {
        do {
            contactId = cursor.getString(cursor
                    .getColumnIndex(PhoneLookup._ID));
        } while (cursor.moveToNext());
    }

    cursor.close();
    cursor = null;
    return contactId;
}

在此示例中,您将根据查询仅从 PhoneLookup.DISPLAY_NAMEPhoneLookup._ID 两列中获取数据。