http://blog.csdn.net/hosterZhu/archive/2011/01/20/6154461.aspx

首先 我们要在E:\android-sdk-windows\platforms\android-8\sources\ContactsProvider 找到源码 !

因为android自带的通讯录也是通过ContentProvider对外共享数据。

贴点源码:

URI 这是ContactsProvider2.java

view plain copy to clipboard print ?
  1. static{
  2. //ContactsURImatchingtable
  3. finalUriMatchermatcher=sUriMatcher;
  4. matcher.addURI(ContactsContract.AUTHORITY,"contacts",CONTACTS);
  5. matcher.addURI(ContactsContract.AUTHORITY,"contacts/#",CONTACTS_ID);
  6. matcher.addURI(ContactsContract.AUTHORITY,"contacts/#/data",CONTACTS_DATA);
  7. matcher.addURI(ContactsContract.AUTHORITY,"contacts/#/suggestions",
  8. AGGREGATION_SUGGESTIONS);
  9. matcher.addURI(ContactsContract.AUTHORITY,"contacts/#/suggestions/*",
  10. AGGREGATION_SUGGESTIONS);
  11. matcher.addURI(ContactsContract.AUTHORITY,"contacts/#/photo",CONTACTS_PHOTO);
  12. matcher.addURI(ContactsContract.AUTHORITY,"contacts/filter/*",CONTACTS_FILTER);
  13. matcher.addURI(ContactsContract.AUTHORITY,"contacts/lookup/*",CONTACTS_LOOKUP);
  14. matcher.addURI(ContactsContract.AUTHORITY,"contacts/lookup/*/#",CONTACTS_LOOKUP_ID);
  15. matcher.addURI(ContactsContract.AUTHORITY,"contacts/as_vcard/*",CONTACTS_AS_VCARD);
  16. matcher.addURI(ContactsContract.AUTHORITY,"contacts/as_multi_vcard/*",
  17. CONTACTS_AS_MULTI_VCARD);
  18. matcher.addURI(ContactsContract.AUTHORITY,"contacts/strequent/",CONTACTS_STREQUENT);
  19. matcher.addURI(ContactsContract.AUTHORITY,"contacts/strequent/filter/*",
  20. CONTACTS_STREQUENT_FILTER);
  21. matcher.addURI(ContactsContract.AUTHORITY,"contacts/group/*",CONTACTS_GROUP);
  22. matcher.addURI(ContactsContract.AUTHORITY,"raw_contacts",RAW_CONTACTS);
  23. matcher.addURI(ContactsContract.AUTHORITY,"raw_contacts/#",RAW_CONTACTS_ID);
  24. matcher.addURI(ContactsContract.AUTHORITY,"raw_contacts/#/data",RAW_CONTACTS_DATA);
  25. matcher.addURI(ContactsContract.AUTHORITY,"raw_contacts/#/entity",RAW_CONTACT_ENTITY_ID);
  26. matcher.addURI(ContactsContract.AUTHORITY,"raw_contact_entities",RAW_CONTACT_ENTITIES);
  27. matcher.addURI(ContactsContract.AUTHORITY,"data",DATA);
  28. matcher.addURI(ContactsContract.AUTHORITY,"data/#",DATA_ID);
  29. matcher.addURI(ContactsContract.AUTHORITY,"data/phones",PHONES);
  30. matcher.addURI(ContactsContract.AUTHORITY,"data/phones/#",PHONES_ID);
  31. matcher.addURI(ContactsContract.AUTHORITY,"data/phones/filter",PHONES_FILTER);
  32. matcher.addURI(ContactsContract.AUTHORITY,"data/phones/filter/*",PHONES_FILTER);
  33. matcher.addURI(ContactsContract.AUTHORITY,"data/emails",EMAILS);
  34. matcher.addURI(ContactsContract.AUTHORITY,"data/emails/#",EMAILS_ID);
  35. matcher.addURI(ContactsContract.AUTHORITY,"data/emails/lookup/*",EMAILS_LOOKUP);
  36. matcher.addURI(ContactsContract.AUTHORITY,"data/emails/filter",EMAILS_FILTER);
  37. matcher.addURI(ContactsContract.AUTHORITY,"data/emails/filter/*",EMAILS_FILTER);
  38. matcher.addURI(ContactsContract.AUTHORITY,"data/postals",POSTALS);
  39. matcher.addURI(ContactsContract.AUTHORITY,"data/postals/#",POSTALS_ID);
  40. matcher.addURI(ContactsContract.AUTHORITY,"groups",GROUPS);
  41. matcher.addURI(ContactsContract.AUTHORITY,"groups/#",GROUPS_ID);
  42. matcher.addURI(ContactsContract.AUTHORITY,"groups_summary",GROUPS_SUMMARY);
  43. matcher.addURI(ContactsContract.AUTHORITY,SyncStateContentProviderHelper.PATH,SYNCSTATE);
  44. matcher.addURI(ContactsContract.AUTHORITY,SyncStateContentProviderHelper.PATH+"/#",
  45. SYNCSTATE_ID);
  46. matcher.addURI(ContactsContract.AUTHORITY,"phone_lookup/*",PHONE_LOOKUP);
  47. matcher.addURI(ContactsContract.AUTHORITY,"aggregation_exceptions",
  48. AGGREGATION_EXCEPTIONS);
  49. matcher.addURI(ContactsContract.AUTHORITY,"aggregation_exceptions/*",
  50. AGGREGATION_EXCEPTION_ID);
  51. matcher.addURI(ContactsContract.AUTHORITY,"settings",SETTINGS);
  52. matcher.addURI(ContactsContract.AUTHORITY,"status_updates",STATUS_UPDATES);
  53. matcher.addURI(ContactsContract.AUTHORITY,"status_updates/#",STATUS_UPDATES_ID);
  54. matcher.addURI(ContactsContract.AUTHORITY,SearchManager.SUGGEST_URI_PATH_QUERY,
  55. SEARCH_SUGGESTIONS);
  56. matcher.addURI(ContactsContract.AUTHORITY,SearchManager.SUGGEST_URI_PATH_QUERY+"/*",
  57. SEARCH_SUGGESTIONS);
  58. matcher.addURI(ContactsContract.AUTHORITY,SearchManager.SUGGEST_URI_PATH_SHORTCUT+"/*",
  59. SEARCH_SHORTCUT);
  60. matcher.addURI(ContactsContract.AUTHORITY,"live_folders/contacts",
  61. LIVE_FOLDERS_CONTACTS);
  62. matcher.addURI(ContactsContract.AUTHORITY,"live_folders/contacts/*",
  63. LIVE_FOLDERS_CONTACTS_GROUP_NAME);
  64. matcher.addURI(ContactsContract.AUTHORITY,"live_folders/contacts_with_phones",
  65. LIVE_FOLDERS_CONTACTS_WITH_PHONES);
  66. matcher.addURI(ContactsContract.AUTHORITY,"live_folders/favorites",
  67. LIVE_FOLDERS_CONTACTS_FAVORITES);
  68. matcher.addURI(ContactsContract.AUTHORITY,"provider_status",PROVIDER_STATUS);
  69. }

项目清单文件中 有ContactsProvider2的配置

view plain copy to clipboard print ?
  1. <providerandroid:name="ContactsProvider2"android:authorities="contacts;com.android.contacts"android:label="@string/provider_label"android:multiprocess="false"android:readPermission="android.permission.READ_CONTACTS"android:writePermission="android.permission.WRITE_CONTACTS">
  2. <path-permissionandroid:pathPrefix="/search_suggest_query"android:readPermission="android.permission.GLOBAL_SEARCH"/>
  3. padding-top: 0px !important; padding-right: 3px !important; padding-bottom: 0px !important; padding-left: 10px
分享到: DefaultHttpClient进行BasicAuth重复请求 ... | Android 监听ContentProvider中数据的变化 ...
  • 2011-05-20 15:42
  • 浏览 1236
  • 评论(0)
  • 分类:移动开发
  • 相关推荐
评论
发表评论

您还没有登录,请您登录后再发表评论

更多相关文章

  1. Android实现动态显示或隐藏密码输入框的内容
  2. Android(安卓)AsyncTask源码简单分析
  3. android注意事项。随时补充
  4. Android(安卓)setContentView方法解析(一)
  5. android学习博客
  6. 如果获取android源码
  7. 如何将android(gingerbread)源码导入eclipse里面
  8. Android:Native C源码(NDK)如何使用sqlite3进行编程?
  9. android应用软件源码

随机推荐

  1. android camera 2
  2. DRM in Android
  3. Android(安卓)数字签名学习笔记
  4. Android智能指针SP WP使用方法介绍
  5. Android深入浅出之Audio 第一部分 AudioT
  6. Android(安卓)数字签名
  7. 将服务器端字符读取至android的文本控件,
  8. android 自适应 多屏幕支持 --Android多
  9. android:maxHeight,android:maxWidth失效
  10. 在英特尔® 架构平台上开发和优化基于 ND