gpt4 book ai didi

android - 如何修复手机重启后以编程方式添加的 SIM 卡联系人消失的问题?

转载 作者:行者123 更新时间:2023-11-29 21:38:38 25 4
gpt4 key购买 nike

使用以下代码,联系人被添加到 SIM 卡中,但在重新启动时它会消失。另一个观察是——在重启之前,如果我们编辑这个 SIM 联系人(以编程方式添加)android 的联系人应用程序崩溃但联系人被编辑并且在重启时它仍然不会消失。

在三星以外的设备上,它根本不会在 Android 的默认联系人应用程序中显示联系人。但我拉了联系人数据库并检查了..它包含我以编程方式插入的联系人。我在 LG Optimus 上检查过这个。

任何人都可以帮助我需要考虑的所有其他列或现有列的任何问题。提前致谢。

在 Samsung Devices、Europa、S3 上检查过。

private void addSIMContacts() {
// TODO Auto-generated method stub
ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>();
int rawContactInsertIndex = ops.size();

ops.add(ContentProviderOperation
.newInsert(RawContacts.CONTENT_URI)
.withValue(RawContacts.ACCOUNT_TYPE,
new String("vnd.sec.contact.sim"))
.withValue(RawContacts.ACCOUNT_NAME,
new String("vnd.sec.contact.sim"))
.withValue(RawContacts.SOURCE_ID, new String("1")).build());
ops.add(ContentProviderOperation
.newInsert(ContactsContract.Data.CONTENT_URI)
.withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID,
rawContactInsertIndex)
.withValue(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE)
.withValue(Phone.NUMBER, "9X-XXXXXXXXX").build());
ops.add(ContentProviderOperation
.newInsert(Data.CONTENT_URI)
.withValueBackReference(Data.RAW_CONTACT_ID,
rawContactInsertIndex)
.withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE)
.withValue(StructuredName.DISPLAY_NAME, "om").build());
try {
ContentProviderResult[] res = getContentResolver().applyBatch(
ContactsContract.AUTHORITY, ops);
} catch (RemoteException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (OperationApplicationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

最佳答案

请找到随附的代码 fragment 。它适用于大多数情况。

 void insertSIMContact() {
Uri simUri = Uri.parse("content://icc/adn");

ContentValues values = new ContentValues();

String name[] = {"a", "b", "c", "d",};
int number[] = {1,2,3,4};

for (int i=0; i<name.length; i++) {
values.put("tag", name[i]);
values.put("number", number[i]);
getContentResolver().insert(simUri, values);
getContentResolver().notifyChange(simUri, null);
}
}

关于android - 如何修复手机重启后以编程方式添加的 SIM 卡联系人消失的问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17723068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com