2011-07-05 11 views
8

Pytam kontakty z wbudowanego identyfikatora URI dostawcy kontaktów w systemie Android. Chcę uzyskać tylko kontakty PHONE; czy istnieje jakiś spójny sposób na zrobienie tego? Wygląda na to, że nazwa konta dla kontaktów telefonicznych różni się od producenta do producenta (patrz this question). Czy istnieje sposób na uzyskanie kontaktów PHONE (nie SIM, Facebook, Twitter lub innych) w spójny, niezawodny, niezależny od producenta i urządzenia sposób?W Androidzie, w jaki sposób wybierasz tylko kontakty TELEFON?

+0

Czy chcesz uzyskać wszystkie kontakty z numerem telefonu? Czy masz na myśli wszystkie kontakty zaimportowane z karty SIM? – michaelg

+0

Szukałem wszystkich kontaktów, które były przechowywane w książce adresowej "na telefon", bez względu na to, czy mają numery telefonów, wiadomości e-mail lub inne. Myślałem, że mogę to zrobić, dołączając moje zapytanie do tabeli 'accounts' i szukając nazwy konta' vnd.sec.contact.phone', ale czytając online, wygląda na to, że nazwa konta jest producentem (i prawdopodobnie urządzeniem?) konkretny. – eidylon

Odpowiedz

-1
  Cursor cursor = null; 

       try { 

        String selection = ContactsContract.Data._ID + " = ?"; 
        String[] selectionArgs = new String[] { id }; 
        String[] projection = new String[] { ContactsContract.PhoneLookup.NUMBER}; 

        cursor = getContentResolver().query(
          ContactsContract.Contacts.CONTENT_URI, 
          projection, selection, selectionArgs, null); 

        if (cursor == null || !cursor.moveToFirst()) 
         return; 

        String phone = cursor.getString(0); 



       } finally { 
        if (cursor != null && !cursor.isClosed()) 
         try { 
          cursor.close(); 
         } catch (Throwable ignore) { 
          // Ignored. 
         } 
       } 

Gdzie "?" to ID użytkownika, możesz umieścić ten kod w pętli.

+0

Jeśli nie błędnie przeczytam tego kodu, czy nie znajdę w nim tylko wszystkich kontaktów z dowolnego źródła (telefonu, karty SIM, Facebooka, Twittera itd.), Ale tylko z tych, którzy mają numery telefonów? Chcę znaleźć TYLKO kontakty z telefonu, niezależnie od tego, czy mają numer telefonu, czy nie. – eidylon

+0

Masz rację, źle zrozumiałem twoje pytanie. Myślałem, że próbujesz uzyskać numer telefonu konkretnego użytkownika (ID). Postaram się znaleźć dla ciebie odpowiedź. Przepraszam za to. – vsm

+0

Nie ma problemu, dzięki za wysiłek! :) – eidylon

Powiązane problemy