2014-06-18 27 views
7

Hi chcę uzyskać kontaktu, które są używane przez inną aplikację (jak WhatsApp lub Viber) zapoznaj się pod obrazemJak zdobyć kontakty, które są wykorzystywane w WhatsApp lub innej aplikacji w Android

enter image description here

pomóż mi o tym numerze: dziękuję

+0

Rozpocznij tutaj: http://developer.android.com/samples/BasicContactables/index.html – ditkin

+0

hi jak znaleźć numer telefonu komórkowego jak ex 1234567890 i jej zastosowanie w Whats app tak, jak znaleźć jego stosowany w WhatsApp na mojej liście kontaktów aplikacji? –

+0

Co próbowałem? Czy występują problemy z kodem, do którego próbujesz dostać się do pracy? – ditkin

Odpowiedz

24

Dzięki uprawnieniu READ_CONTACTS w twoim manifeście możesz uzyskać zsynchronizowane kontakty, biorąc pod uwagę typ konta. Dla WhatsApp to "com.whatsapp". Więc:

Cursor c = getContentResolver().query(
     RawContacts.CONTENT_URI, 
     new String[] { RawContacts.CONTACT_ID, RawContacts.DISPLAY_NAME_PRIMARY }, 
     RawContacts.ACCOUNT_TYPE + "= ?", 
     new String[] { "com.whatsapp" }, 
     null); 

ArrayList<String> myWhatsappContacts = new ArrayList<String>(); 
int contactNameColumn = c.getColumnIndex(RawContacts.DISPLAY_NAME_PRIMARY); 
while (c.moveToNext()) 
{ 
    // You can also read RawContacts.CONTACT_ID to read the 
    // ContactsContract.Contacts table or any of the other related ones. 
    myWhatsappContacts.add(c.getString(contactNameColumn)); 
} 
+0

@matiash to powracające Nazwa kontaktu, co z liczbami? – CodeGuru

+0

@CodeGuru Możesz zapytać o tabelę danych za pomocą identyfikatora kontaktu zwróconego przez to zapytanie. Wszystkie informacje dotyczące kontaktu powinny tam być. – matiash

+0

@VijayRajput Jak mogę uzyskać numer kontaktowy WhatsApp? Otrzymuję tylko imię. –