Android跳转到系统通讯录新增和修改联系人
2017-06-20 11:36
218 查看
新增联系人:
Intent intent = new Intent(Intent.ACTION_INSERT, ContactsContract.Contacts.CONTENT_URI); intent.putExtra(android.provider.ContactsContract.Intents.Insert.NAME, name); intent.putExtra(android.provider.ContactsContract.Intents.Insert.JOB_TITLE, title); intent.putExtra(android.provider.ContactsContract.Intents.Insert.PHONE, phone); startActivity(intent);
修改联系人:
Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT); intent.setType("vnd.android.cursor.item/person"); intent.setType("vnd.android.cursor.item/contact"); intent.setType("vnd.android.cursor.item/raw_contact"); intent.putExtra(android.provider.ContactsContract.Intents.Insert.NAME, name); intent.putExtra(android.provider.ContactsContract.Intents.Insert.PHONE, phone); intent.putExtra(android.provider.ContactsContract.Intents.Insert.JOB_TITLE, title); startActivity(intent);
各个字段的api
public static final class Insert { /** The action code to use when adding a contact */ public static final String ACTION = Intent.ACTION_INSERT; /** * If present, forces a bypass of quick insert mode. */ public static final String FULL_MODE = "full_mode"; /** * The extra field for the contact name. * <P>Type: String</P> */ public static final String NAME = "name"; // TODO add structured name values here. /** * The extra field for the contact phonetic name. * <P>Type: String</P> */ public static final String PHONETIC_NAME = "phonetic_name"; /** * The extra field for the contact company. * <P>Type: String</P> */ public static final String COMPANY = "company"; /** * The extra field for the contact job title. * <P>Type: String</P> */ public static final String JOB_TITLE = "job_title"; /** * The extra field for the contact notes. * <P>Type: String</P> */ public static final String NOTES = "notes"; /** * The extra field for the contact phone number. * <P>Type: String</P> */ public static final String PHONE = "phone"; /** * The extra field for the contact phone number type. * <P>Type: Either an integer value from * {@link CommonDataKinds.Phone}, * or a string specifying a custom label.</P> */ public static final String PHONE_TYPE = "phone_type"; /** * The extra field for the phone isprimary flag. * <P>Type: boolean</P> */ public static final String PHONE_ISPRIMARY = "phone_isprimary"; /** * The extra field for an optional second contact phone number. * <P>Type: String</P> */ public static final String SECONDARY_PHONE = "secondary_phone"; /** * The extra field for an optional second contact phone number type. * <P>Type: Either an integer value from * {@link CommonDataKinds.Phone}, * or a string specifying a custom label.</P> */ public static final String SECONDARY_PHONE_TYPE = "secondary_phone_type"; /** * The extra field for an optional third contact phone number. * <P>Type: String</P> */ public static final String TERTIARY_PHONE = "tertiary_phone"; /** * The extra field for an optional third contact phone number type. * <P>Type: Either an integer value from * {@link CommonDataKinds.Phone}, * or a string specifying a custom label.</P> */ public static final String TERTIARY_PHONE_TYPE = "tertiary_phone_type"; /** * The extra field for the contact email address. * <P>Type: String</P> */ public static final String EMAIL = "email"; /** * The extra field for the contact email type. * <P>Type: Either an integer value from * {@link CommonDataKinds.Email} * or a string specifying a custom label.</P> */ public static final String EMAIL_TYPE = "email_type"; /** * The extra field for the email isprimary flag. * <P>Type: boolean</P> */ public static final String EMAIL_ISPRIMARY = "email_isprimary"; /** * The extra field for an optional second contact email address. * <P>Type: String</P> */ public static final String SECONDARY_EMAIL = "secondary_email"; /** * The extra field for an optional second contact email type. * <P>Type: Either an integer value from * {@link CommonDataKinds.Email} * or a string specifying a custom label.</P> */ public static final String SECONDARY_EMAIL_TYPE = "secondary_email_type"; /** * The extra field for an optional third contact email address. * <P>Type: String</P> */ public static final String TERTIARY_EMAIL = "tertiary_email"; /** * The extra field for an optional third contact email type. * <P>Type: Either an integer value from * {@link CommonDataKinds.Email} * or a string specifying a custom label.</P> */ public static final String TERTIARY_EMAIL_TYPE = "tertiary_email_type"; /** * The extra field for the contact postal address. * <P>Type: String</P> */ public static final String POSTAL = "postal"; /** * The extra field for the contact postal address type. * <P>Type: Either an integer value from * {@link CommonDataKinds.StructuredPostal} * or a string specifying a custom label.</P> */ public static final String POSTAL_TYPE = "postal_type"; /** * The extra field for the postal isprimary flag. * <P>Type: boolean</P> */ public static final String POSTAL_ISPRIMARY = "postal_isprimary"; /** * The extra field for an IM handle. * <P>Type: String</P> */ public static final String IM_HANDLE = "im_handle"; /** * The extra field for the IM protocol */ public static final String IM_PROTOCOL = "im_protocol"; /** * The extra field for the IM isprimary flag. * <P>Type: boolean</P> */ public static final String IM_ISPRIMARY = "im_isprimary"; /** * The extra field that allows the client to supply multiple rows of * arbitrary data for a single contact created using the {@link Intent#ACTION_INSERT} * or edited using {@link Intent#ACTION_EDIT}. It is an ArrayList of * {@link ContentValues}, one per data row. Supplying this extra is * similar to inserting multiple rows into the {@link Data} table, * except the user gets a chance to see and edit them before saving. * Each ContentValues object must have a value for {@link Data#MIMETYPE}. * If supplied values are not visible in the editor UI, they will be * dropped. Duplicate data will dropped. Some fields * like {@link CommonDataKinds.Email#TYPE Email.TYPE} may be automatically * adjusted to comply with the constraints of the specific account type. * For example, an Exchange contact can only have one phone numbers of type Home, * so the contact editor may choose a different type for this phone number to * avoid dropping the valueable part of the row, which is the phone number. * <p> * Example: * <pre> * 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, "android@android.com"); * data.add(row2); * * Intent intent = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI); * intent.putParcelableArrayListExtra(Insert.DATA, data); * * startActivity(intent); * </pre> */ public static final String DATA = "data"; /** * Used to specify the account in which to create the new contact. * <p> * If this value is not provided, the user is presented with a disambiguation * dialog to chose an account * <p> * Type: {@link Account} */ public static final String EXTRA_ACCOUNT = "android.provider.extra.ACCOUNT"; /** * Used to specify the data set within the account in which to create the * new contact. * <p> * This value is optional - if it is not specified, the contact will be * created in the base account, with no data set. * <p> * Type: String */ public static final String EXTRA_DATA_SET = "android.provider.extra.DATA_SET"; }
相关文章推荐
- android 调用系统通讯录添加联系人,并将号码传值到相应的控件内
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- Android进阶之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- Android中获取系统通讯录联系人并显示在EditText
- Android开发中使用Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- android 访问系统通讯录得到联系人数据
- android各种界面跳转(调用系统联系人,通话记录,发短信,发邮件,google搜索)
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面 .相机.录影机....
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- android系统通讯录源码--显示联系人添加长按事件监听
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- android调用系统通讯录程序,获取联系人信息
- android监听系统联系人修改
- android调用系统通讯录,并返回联系人号码和称呼
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
- Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面