Испытываете какое-то странное поведение при попытке выбрать контакт и вернуть его в мою деятельность.Все работает, за исключением того, что я вижу некоторые контакты, которые не должны отображаться.например, люди, за которыми я следую в твиттере, но не имею другого взаимодействия с.Я понимаю, почему эти записи существуют в базе данных, но они не отображаются, когда я нажимаю «Люди» и запускаю приложение диспетчера контактов по умолчанию на телефоне, поэтому они не должны отображаться, когда я прошу мое приложение отобразить список людей.выбрать из?
Самым странным является то, что если я наберу письмо, чтобы отфильтровать список (например, нажмите «A», чтобы показать все контакты, содержащие «A»), а затем нажмите клавишу Backspace (так что ятеперь снова отображаются все записи) фантомные контакты исчезают!
Есть идеи у кого-нибудь?Я действительно не хочу, чтобы меня беспокоили, когда я пишу свое собственное действие «Выбрать контакт».Код (довольно простой), показанный ниже:
public void launchContactPicker() {
// Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_FILTER_URI, Uri.encode("steve"));
Uri uri = ContactsContract.Contacts.CONTENT_URI;
Toast.makeText(this, "Contacts uri = [" + uri +"]", Toast.LENGTH_SHORT).show();
try {
Intent contactPickerIntent = new Intent(Intent.ACTION_PICK, uri);
startActivityForResult(contactPickerIntent, CONTACT_PICKER_RESULT);
}
catch (Exception e) {
Toast.makeText(this, "Exception: " + e.getMessage(), Toast.LENGTH_LONG).show();
}
}
Я также пытался запросить отфильтрованный список контактов (хотя, возможно, с помощью этого и с использованием подстановочных знаков можно добиться успеха), но мне не удалось заставить его работать вообще,Кажется, намерение ACTION_PICK не предназначено для работы с такого рода Uir?