簡體   English   中英

如何獲取所有Phone.DISPLAY_NAME_PRIMARY和電話號碼大小一

[英]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 sizePhone.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM