Я только что создал приложение, и мне удалось получить телефонные контакты, когда я нажимаю кнопку и выбираю номер выбранного.Сим-контакты не отображаются
Моя проблема в том, что я вижу только телефонные контакты, а не контакты 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);
Показывает только контакты в телефоне, почему это так?
См. Ответ на этот ранее размещенный вопрос: http://stackoverflow.com/questions/8908859/how-to-read-android-sim-contacts-and-phone-contacts-separately – Avery
это не поможет, я просто не могу понять, когда я начинаю намерение без активности для результата, я получаю все контакты, и когда я делаю с результатом, я получаю только телефонные звонки ?? – user878813