I write down the contact like this, but he writes it only on the phone’s memory. How to write it on the SIM?

String name = (String)nameEditText.getText().toString(); String phoneNumber = (String)phoneNumberEditText.getText().toString(); String result = null; ArrayList<ContentProviderOperation> ops = new ArrayList < ContentProviderOperation > (); ops.add(ContentProviderOperation.newInsert( ContactsContract.RawContacts.CONTENT_URI) .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, "com.anddroid.contacts.sim") .withValue(ContactsContract.RawContacts.ACCOUNT_NAME, "SIM") .build()); ops.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()); ops.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()); // Asking the Contact provider to create a new contact try { getContentResolver().applyBatch("com.android.contacts", ops); } catch (Exception e) { e.printStackTrace(); System.out.println(e.toString()); } 

    0