Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android,以编程方式在SIM卡上创建联系人_Java_Android_Android 5.0 Lollipop_Android 6.0 Marshmallow - Fatal编程技术网

Java Android,以编程方式在SIM卡上创建联系人

Java Android,以编程方式在SIM卡上创建联系人,java,android,android-5.0-lollipop,android-6.0-marshmallow,Java,Android,Android 5.0 Lollipop,Android 6.0 Marshmallow,我正在尝试在SIM(Nexus 5棉花糖)上创建联系人 String name=(String)nameEditText.getText().toString(); 字符串phoneNumber=(字符串)phoneNumberEditText.getText().toString(); 字符串结果=null; ArrayList ops=新建ArrayList(); ops.add(ContentProviderOperation.newInsert( Contacts contract.ra

我正在尝试在SIM(Nexus 5棉花糖)上创建联系人

String name=(String)nameEditText.getText().toString();
字符串phoneNumber=(字符串)phoneNumberEditText.getText().toString();
字符串结果=null;
ArrayList ops=新建ArrayList();
ops.add(ContentProviderOperation.newInsert(
Contacts contract.raw contacts.CONTENT\u URI)
.withValue(contacts contract.RawContacts.ACCOUNT_TYPE,“com.anddroid.contacts.sim”)
.withValue(contacts contract.raw contacts.ACCOUNT_NAME,“SIM”)
.build());
ops.add(ContentProviderOperation.newInsert(
contacts contract.Data.CONTENT\u URI)
.带ValueBackReference(contacts contract.Data.RAW\u CONTACT\u ID,0)
.带值(contacts contract.Data.MIMETYPE,
ContactsContract.CommonDataTypes.StructuredName.CONTENT\u ITEM\u TYPE)
.有价值(
Contacts contract.CommonDataTypes.StructuredName.DISPLAY\u NAME,
name.build());
添加(ContentProviderOperation)。
newInsert(ContactsContract.Data.CONTENT\u URI)
.带ValueBackReference(contacts contract.Data.RAW\u CONTACT\u ID,0)
.带值(contacts contract.Data.MIMETYPE,
Contacts contract.CommonDataTypes.Phone.CONTENT\u ITEM\u TYPE)
.withValue(contacts contract.commonDataTypes.Phone.NUMBER,phoneNumber)
.带值(contacts contract.commondatatypes.Phone.TYPE、,
Contacts contract.CommonDataTypes.Phone.TYPE\手机)
.build());
//要求联系人提供商创建新联系人
试一试{
getContentResolver().applyBatch(“com.android.contacts”,ops);
}捕获(例外e){
e、 printStackTrace();
System.out.println(例如toString());
}
但它会在手机内存中创建一个联系人


作为applyBatch的第一个论点,我也尝试了
“com.android.contacts”
“com.android.contacts.sim”
”content://icc/adn“
。它也不能正常工作。

请尝试以下代码

Uri simUri = Uri.parse("content://icc/adn");
ContentValues cv = new ContentValues();
cv.put("tag", "Me");
cv.put("number", "yourphonenumber");
getContentResolver().insert(simUri, cv);

确保您已获得应用程序所需的权限。

我遇到了相同的问题,一直在寻找答案。
我要做的是将
contacts contract.raw contacts.ACCOUNT\u TYPE
值更改为
com.android.sim
,如下所示:

withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, "com.android.sim")

而且效果很好。

可以访问这里吗?您的包裹名是什么?添加pachkage名称,而不是com.anddroid.contacts.sim
withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, "com.android.sim")