[英]how to get all Phone.DISPLAY_NAME_PRIMARY and phone number size onece
我想在其中獲取所有聯系人姓名以及電話號碼大小。 現在我正在使用兩個查詢:
1。
crContacts = getContentResolver()
.query(ContactsContract.Contacts.CONTENT_URI, null,null, null, null)
然后2。
while (crContacts.moveToNext()) {
id = crContacts.getString(crContacts.getColumnIndex(ContactsContract.Contacts._ID));
Cursor crPhones = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID
+ " = ?", new String[]{id}, null);
}
是否可以一次獲取phone number size
和Phone.DISPLAY_NAME_PRIMARY
,而無需兩次查詢?
不確定電話號碼大小是什么意思,但是您可以輕松地從Contacts.CONTENT_URI
表中訪問所有Phone.CONTENT_URI
字段以及隱式聯接,下面是一個示例:
String[] projection = new String[] { Phone.CONTACT_ID, Phone.DISPLAY_NAME, Phone.NUMBER };
Cursor c = cr.query(Phone.CONTENT_URI,projection,null,null,null);
while (c.moveToNext()) {
long contactId = c.getLong(0);
String name = c.getString(1);
String phone = c.getString(2);
Log.i("Phones", "got contact phone: " + contactId + " - " + name + " - " + phone);
}
您可以在此處閱讀有關查詢任何數據表時獲得的隱式聯接的更多信息: https : //developer.android.com/reference/android/provider/ContactsContract.Data#columns
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.