2014-05-13 21 views
6

Uygulamamda Intent kullanarak Skype video/sesli arama işlevselliğini uygularım gayet iyi çalışıyor. Ama şimdi Skype hesabından tüm kişileri almak istiyorum mümkün mü?Android'de Skype hesabımdan kişileri almak mümkün mü?

Skype hesabının kişilerin listesini gösteren alternatif bir yol var mı lütfen herhangi bir fikir verin?

+0

Skype Api'yi denemeyi denediniz mi? –

+0

Hayır. Bunu niyetle yapıyorum –

+2

Buradaki hesaplara erişmek için API'sini kullanmanız gerektiğini düşünüyorum - http://developer.skype.com/skype-uris/reference –

cevap

3

Tüm kişiler (bunlar senkronize edildiğinde) ContactsContract sağlayıcısıyla sorgulanabilir. RawContacts tablosunun RawContacts.ACCOUNT_TYPE sütununda, her girişin hesap türü belirtilir ("raw", tüm girdileri içerdiği anlamına gelir; ör., Çoklu toplanmış kişilere sahip tek bir kişi için birden fazla satır).

böyle bir şey yapabilir, Skype kişileri okumak için:

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)); 
} 

da AndroidManifest.xml dosyada android.permission.READ_CONTACTS izin istemek için emin olun.