新手使用联系人合同内容提供商.
我正在尝试从我的应用程序内部进行Skype调用,而我无法弄清楚如何从android联系人中获取skype信息.我正在通过ContentResolver运行查询以获取联系人的所有数据,但我不知道如何在数据中找到Skype脚本名称.
解决方法
这对我有用:
public String getSkypeID(Context mContext,String contactID) { Log.i("getContactNumber"); String returnID = "noMatch"; ContentResolver cr = mContext.getContentResolver(); Cursor skype = cr.query(ContactsContract.Data.CONTENT_URI,null,ContactsContract.Data.CONTACT_ID + " = " + contactID,null); while (skype.movetoNext()) { int type = skype .getInt(skype .getColumnIndex(ContactsContract.CommonDataKinds.Im.PROTOCOL)); String imName = skype.getString(skype .getColumnIndex(ContactsContract.CommonDataKinds.Im.DATA)); switch (type) { case ContactsContract.CommonDataKinds.Im.PROTOCOL_SKYPE: Log.d("contactID: " + contactID + " type: " + type + " imName: " + imName); returnID = imName; break; default: Log.v("Other numbers: " + imName); break; } } return returnID; }
传入contactID以供使用:
String skypeID = getSkypeID(mContext,contactID); if(!skypeID.matches("noMatch") { //skypeID found // Skype intent here }
希望有所帮助.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。