如何从Android联系人列表中获取skype信息

前端之家收集整理的这篇文章主要介绍了如何从Android联系人列表中获取skype信息前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
新手使用联系人合同内容提供商.

我正在尝试从我的应用程序内部进行Skype调用,而我无法弄清楚如何从android联系人中获取skype信息.我正在通过ContentResolver运行查询获取联系人的所有数据,但我不知道如何在数据中找到Skype脚本名称.

解决方法

这对我有用:
  1. public String getSkypeID(Context mContext,String contactID) {
  2. Log.i("getContactNumber");
  3.  
  4. String returnID = "noMatch";
  5.  
  6. ContentResolver cr = mContext.getContentResolver();
  7. Cursor skype = cr.query(ContactsContract.Data.CONTENT_URI,null,ContactsContract.Data.CONTACT_ID
  8. + " = " + contactID,null);
  9.  
  10. while (skype.moveToNext()) {
  11.  
  12. int type = skype
  13. .getInt(skype
  14. .getColumnIndex(ContactsContract.CommonDataKinds.Im.PROTOCOL));
  15. String imName = skype.getString(skype
  16. .getColumnIndex(ContactsContract.CommonDataKinds.Im.DATA));
  17.  
  18. switch (type) {
  19. case ContactsContract.CommonDataKinds.Im.PROTOCOL_SKYPE:
  20. Log.d("contactID: " + contactID + " type: " + type
  21. + " imName: " + imName);
  22.  
  23. returnID = imName;
  24.  
  25. break;
  26.  
  27. default:
  28. Log.v("Other numbers: " + imName);
  29. break;
  30. }
  31.  
  32. }
  33.  
  34. return returnID;
  35. }

传入contactID以供使用:

  1. String skypeID = getSkypeID(mContext,contactID);
  2.  
  3. if(!skypeID.matches("noMatch") {
  4. //skypeID found
  5.  
  6. // Skype intent here
  7.  
  8. }

希望有所帮助.

猜你在找的Android相关文章