Получение имени и номера телефона от ContactsContract.Contacts.в Android? - PullRequest
0 голосов
/ 06 декабря 2011

У меня чертовски просто время, когда я получаю имя и номер телефона от ContactsContract.Contacts ... Я понимаю, что они обновили API, но я бьюсь головой об стену. Я поместил свой код ниже с помощью OnClickListener и OnStartActivity ... Название подходит, но я не могу получить номер ... Я бился об этом 4 часа и искал везде. Может ли кто-нибудь бросить мне кость?

            public void onClick(View arg0) {
    // TODO Auto-generated method stub
    switch(arg0.getId()){
case R.id.bCallContacts:
             Intent i = new Intent(Intent.ACTION_PICK, 
                     ContactsContract.Contacts.CONTENT_URI); 
                     startActivityForResult(i, PICK_CONTACT); 

            break;  }






 private Cursor getContact(Uri uri) { 
        // Run query 
     Cursor c =  managedQuery(uri, null, null, null, null); 
        return c; 
} 



 @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent 
data) 
    { 
     super.onActivityResult(requestCode, resultCode, data); 
        Cursor c = getContact(data.getData()); 
        if (c.moveToFirst()) 
        { 
            String name = 
c.getString(c.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME) ); 
            callName.setText(name); 
            String phoneNumber = c.getString(c.getColumnIndexOrThrow(ContactsContract.CommonDataKinds.Phone.NUMBER));
                                callNum.setText(phoneNumber); 
        } 


    } 

1 Ответ

0 голосов
/ 06 декабря 2011

Будет ли это работать? Не мой код, я нашел его на другой странице получить контактную информацию из сборщика контактов Android

 if (Integer.parseInt(cur.getString(
       cur.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0) {
    Cursor pCur = cr.query(
    ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
    null, 
    ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = ?", 
    new String[]{id}, null);
    while (pCur.moveToNext()) {
    // Do something with phones
    } 
    pCur.close();
}
...