我已经在我的应用程序中使用Intent实现了Skype视频/音频调用功能,它运行正常。但现在我想从Skype帐户获取所有联系人列表是否可能?
有没有其他方法可以显示Skype帐户的联系人列表,请提出任何建议?
答案 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
权限。