Android показывает контакты SIM и телефона
В моем коде я должен отображать только телефонные контакты: я следовал за предыдущими сообщениями, но я по-прежнему отображаю как телефонные, так и сим-контакты. Вот мой код:
Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
String columIndex = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME;
String columIndexId = ContactsContract.CommonDataKinds.Phone.CONTACT_ID;
String numIndex = ContactsContract.CommonDataKinds.Phone.NUMBER;
Cursor cursor = getContentResolver().query(uri, null, null, null,ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME+" ASC");
if(cursor!=null){
while(cursor.moveToNext()) {
ContactInfo ci = new ContactInfo();
ci.setIdContact(Integer.parseInt(cursor.getString(cursor.getColumnIndex(columIndexId))));
ci.setName(cursor.getString(cursor.getColumnIndex(columIndex)));
ci.setNumberTel(cursor.getString(cursor.getColumnIndex(numIndex)));
//if(!cursor.getString(cursor.getColumnIndex(columIndex)).equalsIgnoreCase(nome))
listContact.add(ci);
}
cursor.close();
}
Это все объекты ContactInfo, и они будут показаны в списке (listContact, который является ArrayList).
Это действительно важно для меня, потому что мое приложение хорошо работает только на телефонные контакты, а не на сим-контакты.
1 ответ
Вы можете попытаться заменить свой Курсор этим, чтобы исключить контакты на симе:
import android.provider.ContactsContract.RawContacts;
Cursor cursor = getContentResolver().query(
RawContacts.CONTENT_URI,
new String[] { RawContacts._ID, RawContacts.ACCOUNT_TYPE },
RawContacts.ACCOUNT_TYPE + " <> 'com.android.contacts.sim' AND "
+ RawContacts.ACCOUNT_TYPE + " <> 'com.anddroid.contacts.sim' AND " // HTC
+ RawContacts.ACCOUNT_TYPE + " <> 'vnd.sec.contact.sim' AND "
+ RawContacts.ACCOUNT_TYPE + " <> 'USIM Account' ",
null,
null);
Я не пробовал это, изменено с /questions/20880541/kak-poluchit-vse-kontaktyi-androida-no-bez-teh-kotoryie-na-simke/20880550#20880550
Примечание: на некоторых телефонах может потребоваться исключить несколько других RawContacts.ACCOUNT_TYPE
лайк com.anddroid.contacts.sim
а также vnd.sec.contact.sim
см. /questions/29071643/kak-chitat-android-sim-kontaktyi-i-telefon-kontaktyi-otdelno/29071653#29071653