2012-06-27 2 views
1

Я только что создал приложение, и мне удалось получить телефонные контакты, когда я нажимаю кнопку и выбираю номер выбранного.Сим-контакты не отображаются

Моя проблема в том, что я вижу только телефонные контакты, а не контакты SIM-карты.

Мой код:

@Override 
    public void onActivityResult(int reqCode, int resultCode, Intent data) { 
     super.onActivityResult(reqCode, resultCode, data); 
     if (resultCode!=0){ 
      Uri uri = data.getData(); 
      Cursor cursor=this.getContentResolver().query(uri, null, null, null, null); 

       while (cursor.moveToNext()) { 
       String contactId = cursor.getString(cursor.getColumnIndex( 
        ContactsContract.Contacts._ID)); 
       String hasPhone = cursor.getString(cursor.getColumnIndex( 
        ContactsContract.Contacts.HAS_PHONE_NUMBER)); 
       if ((Integer.parseInt(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER))) > 0)) { 
          // You know have the number so now query it like this 
      Cursor phones = getContentResolver().query( 
       ContactsContract.CommonDataKinds.Phone.CONTENT_URI, 
       null, 
       ContactsContract.CommonDataKinds.Phone.CONTACT_ID +" = "+ contactId, 
        null, null); 
       while (phones.moveToNext()) { 

        phoneNumber = phones.getString( 
        phones.getColumnIndex( 
         ContactsContract.CommonDataKinds.Phone.NUMBER)); 

       } 
       phonenumber.setText(phoneNumber); 

       phones.close(); 
       } 
       } 

     } 


    } 

И что-то я не могу понять.

Цель намерения = новое намерение (Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); startActivity (намерение);

показывает все контакты, но я не могу выбрать один и результат

Намерение Намерение = новый Intent (Intent.ACTION_PICK, ContactsContract.Contacts.CONTENT_URI); startActivityForResult (намерение, 1);

Показывает только контакты в телефоне, почему это так?

+0

См. Ответ на этот ранее размещенный вопрос: http://stackoverflow.com/questions/8908859/how-to-read-android-sim-contacts-and-phone-contacts-separately – Avery

+0

это не поможет, я просто не могу понять, когда я начинаю намерение без активности для результата, я получаю все контакты, и когда я делаю с результатом, я получаю только телефонные звонки ?? – user878813

ответ

0

добавить это в своем намерении:

intent.setType(ContactsContract.CommonDataKinds.Phone.CONTENT_TYPE); 

все остальные в порядке.