【Android】调用系统的ContentProvider

作者:追风筝的人 | 创建时间: 2023-07-18
Android系统本身提供了大量的ContentProvider。 例如:联系人信息、系统的多媒体信息(还有很多就不说了)...
【Android】调用系统的ContentProvider

操作方法

使用ContentResolver操作系统ContentP数据的步骤: 1》调用Activity的getContentResolver()获取ContentResolver对象。 2》根据需要调用ContentResolver的intser()、delete()、update()和query()方法操作数据即可。

ContentProvider管理联系人

Android系统提供了Contacts应用程序来管理联系人,而且Android系统还为联系人管理提供ContentProvider,这个准许其他应用程序以ContentResolver来管理联系人数据。 Android系统对联系人管理ContentProvider的几个Uri如下。 ContactsContact.Contacts.CONTENT_URI:管理联系人的Uri. ContactsContract.CommonDataKinds.Phone.CONTENT_URI:管理联系人的电话的Uri。 ContactsContacts.CommonDataKinds.Email.CONTENT_URI:管理联系人的E-mail的Uri。

ContactsContact.Contacts.CONTENT_URI 在程序代码中是怎么使用的 // 使用ContentResolver查找联系人数据    Cursor cursor = getContentResolver().query(     ContactsContract.Contacts.CONTENT_URI, null, null,     null, null);

获取联系人的电话信息

获取联系人的邮箱

在AndroidManifest.xml要用到的权限 <!-- 授予读联系人ContentProvider的权限 --> <uses-permission android:name="android.permission.READ_CONTACTS"/> <!-- 授予写联系人ContentProvider的权限 --> <uses-permission android:name="android.permission.WRITE_CONTACTS"/>

// 向联系人URI添加联系人名字    getContentResolver().insert(     android.provider.ContactsContract.Data.CONTENT_URI,     values); // 向联系人电话号码URI添加电话号码    getContentResolver().insert(     android.provider.ContactsContract.Data.CONTENT_URI,     values); // 向联系人Email URI添加Email数据 getContentResolver().insert(     android.provider.ContactsContract.Data.CONTENT_URI,     values);

温馨提示

本步骤需要一定代码基础
程序代码以代码片段的形式展示
点击展开全文

更多推荐