Wszystkie kontakty (pod warunkiem, że są zsynchronizowane) można uzyskać od dostawcy usługi ContactsContract
. Kolumna RawContacts.ACCOUNT_TYPE
tabeli wskazuje typ konta dla każdego wpisu ("nieprzetworzony" oznacza, że zawiera wszystkie pozycje, np. Wiele wierszy dla pojedynczej osoby z wieloma zagregowanymi kontaktami).
Aby odczytać kontakty Skype, można zrobić coś takiego:
Cursor c = getContentResolver().query(
RawContacts.CONTENT_URI,
new String[] { RawContacts.CONTACT_ID, RawContacts.DISPLAY_NAME_PRIMARY },
RawContacts.ACCOUNT_TYPE + "= ?",
new String[] { "com.skype.contacts.sync" },
null);
int contactNameColumn = c.getColumnIndex(RawContacts.DISPLAY_NAME_PRIMARY);
ArrayList<String> mySkypeContacts = new ArrayList<String>();
while (c.moveToNext())
{
/// You can also read RawContacts.CONTACT_ID to query the
// ContactsContract.Contacts table or any of the other related ones.
mySkypeContacts.add(c.getString(contactNameColumn));
}
Należy również zwrócić się o zgodę w pliku AndroidManifest.xml
android.permission.READ_CONTACTS
.
Czy próbowałeś zaimplementować skype Api? –
Nie. Robię to intencją –
Myślę, że powinieneś użyć swojego API, aby uzyskać dostęp do kont tutaj- http://developer.skype.com/skype-uris/reference –