我正在尝试使用 Intent 插入联系人,并且我尝试了这段代码,取自Android Sdk,请参阅here :
ArrayList<ContentValues> data = new ArrayList<ContentValues>();
ContentValues row1 = new ContentValues();
row1.put(Data.MIMETYPE, Organization.CONTENT_ITEM_TYPE);
row1.put(Organization.COMPANY, "Android");
data.add(row1);
ContentValues row2 = new ContentValues();
row2.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
row2.put(Email.TYPE, Email.TYPE_CUSTOM);
row2.put(Email.LABEL, "Green Bot");
row2.put(Email.ADDRESS, "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="71101f15031e181531101f15031e18155f121e1c" rel="noreferrer noopener nofollow">[email protected]</a>");
data.add(row2);
Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI);
intent.putParcelableArrayListExtra(Insert.DATA, data);
startActivity(intent);
我得到一个空的 InsertContact Intent 。这让我发疯,为什么它不起作用?
最佳答案
试试这个:
Intent addPersonIntent = new Intent(Intent.ACTION_INSERT);
addPersonIntent.setType(ContactsContract.Contacts.CONTENT_TYPE);
addPersonIntent.putExtra(ContactsContract.Intents.Insert.NAME, "name");
addPersonIntent.putExtra(ContactsContract.Intents.Insert.PHONE, "phone");
addPersonIntent.putExtra(ContactsContract.Intents.Insert.EMAIL, "email");
addPersonIntent.putExtra(ContactsContract.Intents.Insert.POSTAL, "address");
startActivityForResult(addPersonIntent, CREATE_NEW);
关于android - 使用预先填充的 Intent 插入联系人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12586619/