是否可以通过Android中的Skype帐户获取联系人?

时间:2014-05-13 13:16:02

标签: android skype

我已经在我的应用程序中使用Intent实现了Skype视频/音频调用功能,它运行正常。但现在我想从Skype帐户获取所有联系人列表是否可能?

有没有其他方法可以显示Skype帐户的联系人列表,请提出任何建议?

1 个答案:

答案 0 :(得分:3)

可以使用ContactsContract提供商查询所有联系人(只要他们已同步)。 RawContacts表的RawContacts.ACCOUNT_TYPE列表示每个条目的帐户类型(“原始”表示它包含所有条目,例如,具有多个聚合联系人的单个人的多行)。

要阅读Skype联系人,您可以执行以下操作:

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

请务必在android.permission.READ_CONTACTS文件中请求AndroidManifest.xml权限。