首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在android中以编程方式删除联系人

在Android中以编程方式删除联系人,可以使用Contacts Provider API。以下是一个简单的示例代码,用于删除指定联系人:

代码语言:java
复制
import android.app.Activity;
import android.content.ContentProviderOperation;
import android.content.ContentResolver;
import android.content.ContentUris;
import android.content.Context;
import android.content.OperationApplicationException;
import android.database.Cursor;
import android.net.Uri;
import android.os.RemoteException;
import android.provider.ContactsContract;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.Contacts;
import android.provider.ContactsContract.Data;
import android.provider.ContactsContract.RawContacts;

public class ContactsManager {

    public static void deleteContact(Context context, String contactId) {
        ContentResolver contentResolver = context.getContentResolver();
        Uri uri = ContentUris.withAppendedId(Contacts.CONTENT_URI, Long.parseLong(contactId));
        contentResolver.delete(uri, null, null);
    }
}

在这个示例中,我们使用了Contacts Provider API来删除指定联系人。首先,我们获取ContentResolver对象,然后使用ContentUris.withAppendedId方法构建联系人的URI。最后,我们使用ContentResolver.delete方法删除联系人。

需要注意的是,在Android 6.0(API 23)及更高版本中,我们需要在运行时请求WRITE_CONTACTS权限。可以使用以下代码来检查权限:

代码语言:java
复制
private static final int REQUEST_WRITE_CONTACTS_PERMISSION = 1;

private void requestWriteContactsPermission() {
    if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_CONTACTS)
            != PackageManager.PERMISSION_GRANTED) {
        ActivityCompat.requestPermissions(this,
                new String[]{Manifest.permission.WRITE_CONTACTS},
                REQUEST_WRITE_CONTACTS_PERMISSION);
    }
}

在这个示例中,我们使用ContextCompat.checkSelfPermission方法检查WRITE_CONTACTS权限是否已经被授权。如果没有授权,我们使用ActivityCompat.requestPermissions方法请求权限。

总之,在Android中以编程方式删除联系人,可以使用Contacts Provider API。需要注意的是,在Android 6.0及更高版本中,我们需要在运行时请求WRITE_CONTACTS权限。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

2分29秒

基于实时模型强化学习的无人机自主导航

5分33秒

JSP 在线学习系统myeclipse开发mysql数据库web结构java编程

16分8秒

人工智能新途-用路由器集群模仿神经元集群

领券