首先在向Android联系人中添加数据
联系人的数据放在
将contacts2.db导出到桌面上,打开
contact2.db有很多表,最重要的有3张表raw_contacts(存放联系人ID)、data、mimetypes
raw_contacts:
data:
mimetypes:
新建一个名为contacts 的项目,添加测试环境,新建一个测试类ContactsTest,放在cn.leigo.test包下。
现在我们看看源码是如何定义联系人的ContentProvider的,https://android.googlesource.com/platform/packages/providers/ContactsProvider.git/+/android-2.3.3_r1/AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.android.providers.contacts"
android:sharedUserId="android.uid.shared">
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.READ_SYNC_STATS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH" />
<uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH.cp" />
<uses-permission android:name="android.permission.SUBSCRIBED_FEEDS_READ" />
<uses-permission android:name="android.permission.SUBSCRIBED_FEEDS_WRITE" />
<application android:process="android.process.acore"
android:label="@string/app_label"
android:icon="@drawable/app_icon">
<provider android: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_CO