Не могу вставить новую запись в контакты - PullRequest
0 голосов
/ 26 июля 2011

Я могу успешно вставить новую запись, используя People.CONTENT_URL в соответствии с http://developer.android.com/guide/topics/providers/content-providers.html#addingrecord. Но класс People устарел, поэтому я хотел бы использовать ContentProviderOperation и Data.CONTENT_URL для вставки записи.вот мой код.

super.onCreate(savedInstanceState);
        ArrayList operations = new ArrayList();
        operations.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI)
                .withValue(Phone.CONTACT_ID, "23").withValue(CommonDataKinds.Phone.NUMBER,
                        "13412341234123412341234").build());
        try {
            getContentResolver().applyBatch(ContactsContract.AUTHORITY, operations);
        } catch (RemoteException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (OperationApplicationException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

Ответы [ 2 ]

1 голос
/ 27 июля 2011

Если вы пытаетесь добавить новый контакт, попробуйте этот код:

        Intent intent = new Intent(Intent.ACTION_INSERT); 
        intent.setType(ContactsContract.Contacts.CONTENT_TYPE);  
        intent.putExtra(ContactsContract.Intents.Insert.NAME, "name"); 
        intent.putExtra(ContactsContract.Intents.Insert.PHONE, "123456");  
        startActivity(intent);
1 голос
/ 27 июля 2011

Насколько я понимаю, вы просто хотите добавить новый контакт, верно?

Я ответил на вопрос Здесь . Я использовал тот же кусок кода, и он работает для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...