2011-06-24 15 views
5

ATM uzyskać numer i etykiety danego CONTACT_ID zJak wykryć domyślny numer telefonu kontaktu (jeśli jest ustawione)

String where = ContactsContract.CommonDataKinds.Phone.CONTACT_ID + " = " + contactId; 
Cursor c = ctx.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, where, null, null); 
    while (c.moveToNext()) { 
    String number = Tools.getString(c, CommonDataKinds.Phone.NUMBER); 
    String label = Tools.getString(c,CommonDataKinds.Phone.LABEL); 
    } 

Androida ma możliwość oznaczyć daną liczbę jako „domyślnego numeru” . Jak mogę się dowiedzieć, czy numer z pytaniem jest numerem domyślnym?

Odpowiedz

7

Spróbuj zapytać o kolumnę IS_SUPER_PRIMARY w zapytaniu CONTENT_URI.

Jeśli zwraca wartość różną od zera, to wpis może być interpretowany jako domyślna wartość kontaktu tego typu (na przykład domyślny numer telefonu do kontaktu).

Więcej informacji: http://developer.android.com/reference/android/provider/ContactsContract.Data.html

+0

Dziękuję bardzo. Szukałem tego trochę czasu. Zastanawiam się, dlaczego dokumentacja jest tutaj tak nieprecyzyjna. Ale oznaczenie numeru jako numeru domyślnego, gdy SUPER_PRIMARY> 0 wydaje się działać poprawnie! :-) – Flow

Powiązane problemy