Android 添加联系人接口:权限、代码示例及调用方法
首先需要在AndroidManifest.xml中添加以下权限:
<uses-permission android:name='android.permission.READ_CONTACTS' />
<uses-permission android:name='android.permission.WRITE_CONTACTS' />
接下来,可以创建一个ContactsManager类来处理添加联系人的逻辑。以下是一个简单的示例:
public class ContactsManager {
public static void addContact(Context context, String name, String phoneNumber) {
ContentValues values = new ContentValues();
values.put(ContactsContract.RawContacts.ACCOUNT_TYPE, null);
values.put(ContactsContract.RawContacts.ACCOUNT_NAME, null);
Uri rawContactUri = context.getContentResolver().insert(ContactsContract.RawContacts.CONTENT_URI, values);
long rawContactId = ContentUris.parseId(rawContactUri);
values.clear();
values.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name);
context.getContentResolver().insert(ContactsContract.Data.CONTENT_URI, values);
values.clear();
values.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
values.put(ContactsContract.CommonDataKinds.Phone.NUMBER, phoneNumber);
values.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE);
context.getContentResolver().insert(ContactsContract.Data.CONTENT_URI, values);
}
}
这个方法使用ContentValues对象来构建联系人及电话号码的数据,并通过ContentResolver将其插入到系统联系人数据库中。需要注意的是,该方法需要在UI线程之外执行,可以使用AsyncTask或RxJava等工具来处理异步操作。
调用该方法只需要传入Context、联系人名字和电话号码即可:
ContactsManager.addContact(this, '张三', '13888888888');
以上就是一个简单的添加联系人的接口实现。
原文地址: https://www.cveoy.top/t/topic/nPXl 著作权归作者所有。请勿转载和采集!