Я читал здесь несколько вопросов и не могу найти ответ на этот вопрос: у меня есть устройство Android 2.1 (HTC Incredible). Мое приложение, однако, должно быть совместимо с ранними (5 до SDK) устройств, поэтому я использую устаревший формат фильтр URI:Поиск Контакт с телефона - Старый против Нового URI: Старый не удается, Новые успехи?
Uri contactUri = Uri.withAppendedPath(Contacts.Phones.CONTENT_FILTER_URL, Uri.encode(number));
Cursor C = context.getContentResolver().query(contactUri , null, null, null, null));
номер имеет вида 15555551212. Это не удается найти Свяжитесь, по крайней мере, на моем устройстве. Однако, переходя к новому (SDK 5 и выше) формат ContactsContract URI
Uri contactUri = Uri.withAppendedPath(ContactsContract.PhoneLookup.CONTENT_FILTER_URI, Uri.encode(number));
Cursor C = context.getContentResolver().query(contactUri , null, null, null, null));
приводит к успеху. Первоначально соответствующее число в контакте было в формате +1 555 555 5555, но я изменил его, чтобы точно соответствовать номеру ввода 15555555555, и URI старого формата все еще не работает. В обоих случаях URI нового формата преуспевает.
Есть ли у кого-нибудь мысли, почему это так? Я в тупике!
Возможно ли, что проблема связана с тем, что мои контакты находятся в области «Телефон», а не в контактах Google ? Доступен ли старый API для доступа к контактам Google? –