保存与SIM卡的联系

时间:2013-08-09 10:55:27

标签: android

我想将contact保存到sim卡,但我无法执行此操作。我用这段代码来保存联系

ContentValues values = new ContentValues();
        values.put(People.NUMBER, phone);
        values.put(People.TYPE, Phone.TYPE_CUSTOM);
        values.put(People.LABEL, name);
        values.put(People.NAME, name);

        Uri dataUri = getContentResolver().insert(People.CONTENT_URI, values);
        Uri updateUri = Uri.withAppendedPath(dataUri, People.Phones.CONTENT_DIRECTORY);
        values.clear();
        values.put(People.Phones.TYPE, People.TYPE_CUSTOM);
        values.put(People.NUMBER, phone);
        updateUri = getContentResolver().insert(updateUri, values);

但它没有保存在SIM卡中。 请帮帮我!

3 个答案:

答案 0 :(得分:1)

您应该获取SiM卡联系人的dataUri,而不是存储在设备中的联系人。

Uri simUri = Uri.parse("content://icc/adn");
Cursor cursorSim = this.getContentResolver().query(simUri, null, null,null, null);

此外,您的应用程序应获得读取和写入联系人的权限。添加

<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.WRITE_CONTACTS"/>

到您的Android.xml文件。

看看

How can we add sms programatically in sim card in android

How to get All Sim Contacts in Android Progrmmatically?

答案 1 :(得分:1)

cv.put("name", "zzzz"); // Wrong“名称”不是正确的密钥。使用“tag”代替cv.put("tag", "zzzz");

答案 2 :(得分:0)

您没有提供任何ID添加联系人。

values.put(Data.RAW_CONTACT_ID, idyouwanttoadd);

如需更多信息,请查看以下链接: How to add new contacts in android