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

如何在Android中以编程方式创建联系人到Sim

在Android中,可以使用编程方式创建联系人到SIM卡。下面是一个示例代码,展示了如何通过编程方式创建联系人到SIM卡:

代码语言:java
复制
import android.content.ContentProviderOperation;
import android.content.ContentProviderResult;
import android.content.ContentResolver;
import android.content.OperationApplicationException;
import android.os.RemoteException;
import android.provider.ContactsContract;

public class SimContactManager {
    
    public static void createContact(String name, String phoneNumber) {
        ContentResolver resolver = getContentResolver();
        ArrayList<ContentProviderOperation> operations = new ArrayList<>();
        
        // 添加联系人到SIM卡
        operations.add(ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI)
                .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null)
                .withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null)
                .build());
        
        // 添加姓名
        operations.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
                .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE)
                .withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name)
                .build());
        
        // 添加电话号码
        operations.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
                .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0)
                .withValue(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE)
                .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, phoneNumber)
                .withValue(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE)
                .build());
        
        try {
            // 执行批量操作
            ContentProviderResult[] results = resolver.applyBatch(ContactsContract.AUTHORITY, operations);
        } catch (RemoteException | OperationApplicationException e) {
            e.printStackTrace();
        }
    }
}

这段代码使用了Android的联系人内容提供器(ContentProvider)来操作联系人数据。首先,我们创建一个ContentProviderOperation列表,然后按照指定的顺序添加操作。在这个例子中,我们首先添加了一个新的联系人到SIM卡,然后添加了联系人的姓名和电话号码。

要使用这个示例代码,你需要将其放置在Android应用的合适位置,并确保你的应用具有适当的权限,如读取和写入联系人数据的权限。

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

相关·内容

2分29秒

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

16分8秒

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

5分33秒

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

领券