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_NAME
和 PhoneLookup._ID
两列中获取数据。
我想创建一个 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_NAME
和 PhoneLookup._ID
两列中获取数据。