Próbuję pobrać nazwy kontaktów podając numer telefonu kontaktowego. Zrobiłem funkcję, która powinna działać we wszystkich wersjach API, ponieważ nie mogę jej uruchomić w wersji 1.6 i nie widzę problemu, może ktoś może to zauważyć?Uzyskaj nazwę kontaktu podając numer telefonu w Androidzie
Zauważ, że zastąpiłem stałe API dla ciągów, więc nie mam przestarzałych problemów z ostrzeżeniem.
public String getContactName(final String phoneNumber)
{
Uri uri;
String[] projection;
if (Build.VERSION.SDK_INT >= 5)
{
uri = Uri.parse("content://com.android.contacts/phone_lookup");
projection = new String[] { "display_name" };
}
else
{
uri = Uri.parse("content://contacts/phones/filter");
projection = new String[] { "name" };
}
uri = Uri.withAppendedPath(uri, Uri.encode(phoneNumber));
Cursor cursor = this.getContentResolver().query(uri, projection, null, null, null);
String contactName = "";
if (cursor.moveToFirst())
{
contactName = cursor.getString(0);
}
cursor.close();
cursor = null;
return contactName;
}
1.6 nie obsługują już! http://developer.android.com/resources/dashboard/platform-versions.html. Stanowi tylko 2,2% obecnej bazy użytkowników, a liczba ta zmniejszy się, zmniejszy, zmniejszy. Może nigdy nie osiągnąć poziomu zero, ale to tylko z powodu technologicznych maruderów, które i tak nie usłyszą o twojej nowej aplikacji do blefowania! Nie trać czasu! –
Dla ułatwienia innych, napisałem post, który zawiera cały kod do nazwy zapytania, zdjęcie, kontakt ID, itp. Z przyzwoitym wyjaśnieniem. Kod zawiera fragmenty znalezione w różnych odpowiedziach, ale bardziej uporządkowane i przetestowane. Link: http://hellafun.weebly.com/home/get-information-of-a-contact-from-number – Usman