2014-12-01 3 views
0

Я использую этот код для чтения контактов ohone.Невозможно прочитать телефонные контакты в android

 Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null); 
     if(cursor.moveToFirst()&&cursor.getCount()>0&&cursor!=null){ 

       // String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone._ID)); 
       String name  = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); 
       String phone  = cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); 

}  

Но эти "ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME" ,"ContactsContract.CommonDataKinds.Phone.NUMBER" return -1, который вызывает исключение.

Как я могу принять эту ошибку?

+0

использование DatabaseUtils.dumpCursor, чтобы увидеть все столбцы, которые можно использовать, номер телефона среди них нет – pskink

ответ

0

Попробуйте этот код

Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,null,null, null); 
while (phones.moveToNext()) 
{ 
    String name=phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME)); 
    String phone = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); 

} 
phones.close(); 
Смежные вопросы