国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術(shù)文章
文章詳情頁

Android添加聯(lián)系人到通訊錄的方法

瀏覽:90日期:2022-09-18 13:53:17
目錄字段聯(lián)系人名字聯(lián)系人昵稱聯(lián)系人頭像聯(lián)系人備注聯(lián)系人號碼聯(lián)系人公司和職位網(wǎng)站聯(lián)系人郵箱聯(lián)系人地址添加方式1. 靜默添加2. 跳轉(zhuǎn)添加3. 添加到現(xiàn)有聯(lián)系人權(quán)限字段聯(lián)系人名字

名字不知道為什么,值設(shè)置了之后傳過去沒有,于是自己通過 Intent 最后又單獨傳了一次

// 聯(lián)系人名字ContentValues row1 = new ContentValues();String name = lastName + middleName + firstName;row1.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);row1.put(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, name);row1.put(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME, firstName);row1.put(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME, lastName);row1.put(ContactsContract.CommonDataKinds.StructuredName.MIDDLE_NAME, middleName);聯(lián)系人昵稱

ContentValues row2 = new ContentValues();row2.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Nickname.CONTENT_ITEM_TYPE);row2.put(ContactsContract.CommonDataKinds.Nickname.NAME, nickName);聯(lián)系人頭像

這里需要將圖片的 byte 數(shù)組傳進(jìn)去

ContentValues row3 = new ContentValues();//添加頭像row3.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Photo.CONTENT_ITEM_TYPE);Bitmap bitmap = BitmapFactory.decodeFile(photoFilePath);ByteArrayOutputStream baos = new ByteArrayOutputStream();bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);row3.put(ContactsContract.CommonDataKinds.Photo.PHOTO, baos.toByteArray());聯(lián)系人備注

// 聯(lián)系人備注ContentValues row4 = new ContentValues();row4.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Note.CONTENT_ITEM_TYPE);row4.put(ContactsContract.CommonDataKinds.Note.NOTE, remark);聯(lián)系人號碼

號碼有很多種類型,電話,手機(jī),傳真,公司,家庭,等

ContentValues row5 = new ContentValues();// 聯(lián)系人的電話號碼addPhoneNumber(row5, values, mobilePhoneNumber, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE);ContentValues row6 = new ContentValues();// 聯(lián)系人的公司電話addPhoneNumber(row6, values, hostNumber, ContactsContract.CommonDataKinds.Phone.TYPE_COMPANY_MAIN);ContentValues row7 = new ContentValues();// 聯(lián)系人的工作號碼addPhoneNumber(row7, values, workPhoneNumber, ContactsContract.CommonDataKinds.Phone.TYPE_WORK_MOBILE);ContentValues row8 = new ContentValues();// 聯(lián)系人的工作傳真addPhoneNumber(row8, values, workFaxNumber, ContactsContract.CommonDataKinds.Phone.TYPE_FAX_WORK);ContentValues row9 = new ContentValues();// 聯(lián)系人的住宅號碼addPhoneNumber(row9, values, homePhoneNumber, ContactsContract.CommonDataKinds.Phone.TYPE_HOME);ContentValues row10 = new ContentValues();// 聯(lián)系人的住宅傳真addPhoneNumber(row10, values, homeFaxNumber, ContactsContract.CommonDataKinds.Phone.TYPE_FAX_HOME);//封裝的添加方法private void addPhoneNumber( ContentValues row, ArrayList<ContentValues> values, String phoneNumber, int type) {row.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);row.put(ContactsContract.CommonDataKinds.Phone.NUMBER, phoneNumber);row.put(ContactsContract.CommonDataKinds.Phone.TYPE, type);values.add(row);}聯(lián)系人公司和職位

// 聯(lián)系人公司和職位ContentValues row11 = new ContentValues();row11.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE);row11.put(ContactsContract.CommonDataKinds.Organization.COMPANY, organization);row11.put(ContactsContract.CommonDataKinds.Organization.TITLE, title);網(wǎng)站

// 聯(lián)系人網(wǎng)站ContentValues row12 = new ContentValues();row12.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Website.CONTENT_ITEM_TYPE);row12.put(ContactsContract.CommonDataKinds.Website.URL, url);聯(lián)系人郵箱

// 插入Email數(shù)據(jù)ContentValues row13 = new ContentValues();row13.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE);row13.put(ContactsContract.CommonDataKinds.Email.DATA, email);row13.put(ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_WORK);聯(lián)系人地址

地址分為家庭,工作和其他。有個問題,這里分段傳入之后添加完成無法顯示,只能自己將國家省市街道拼接,傳入到了地址字段,這樣就可以顯示出來,但是郵政編碼是無法顯示的

//其他地址ContentValues row14 = new ContentValues();addAddress(row14, values, addressCountry, addressState, addressCity, addressStreet, addressPostalCode, ContactsContract.CommonDataKinds.StructuredPostal.TYPE_OTHER);//家庭地址ContentValues row15 = new ContentValues();addAddress(row15, values, homeAddressCountry, homeAddressState, homeAddressCity, homeAddressStreet, homeAddressPostalCode, ContactsContract.CommonDataKinds.StructuredPostal.TYPE_HOME);//工作地址ContentValues row16 = new ContentValues();addAddress(row16, values, workAddressCountry, workAddressState, workAddressCity, workAddressStreet, workAddressPostalCode, ContactsContract.CommonDataKinds.StructuredPostal.TYPE_WORK);//添加地址方法private void addAddress(ContentValues row, ArrayList<ContentValues> values, String country, String region, String city, String street, String addressPostalCode, int type) { row.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE); row.put(ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS, country + region + city + street); row.put(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY, country); row.put(ContactsContract.CommonDataKinds.StructuredPostal.REGION, region); row.put(ContactsContract.CommonDataKinds.StructuredPostal.CITY, city); row.put(ContactsContract.CommonDataKinds.StructuredPostal.STREET, street); row.put(ContactsContract.CommonDataKinds.StructuredPostal.POSTCODE, addressPostalCode); row.put(ContactsContract.CommonDataKinds.StructuredPostal.TYPE, type); values.add(row);}添加方式

添加方式分為三種,一種是靜默添加,直接存入數(shù)據(jù)庫中,另外兩種是跳轉(zhuǎn),直接新增或者添加到現(xiàn)有聯(lián)系人中

1. 靜默添加

以添加名字為例,直接插入到數(shù)據(jù)庫中

// 向RawContacts.CONTENT_URI空值插入,// 先獲取Android系統(tǒng)返回的rawContactId// 后面要基于此id插入值Uri rawContactUri = mActivity.getContentResolver().insert(ContactsContract.RawContacts.CONTENT_URI, values);long rawContactId = ContentUris.parseId(rawContactUri);values.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);// 內(nèi)容類型values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);// 聯(lián)系人名字values.put(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME, firstName);values.put(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME, lastName);values.put(ContactsContract.CommonDataKinds.StructuredName.MIDDLE_NAME, middleName);// 向聯(lián)系人URI添加聯(lián)系人名字mActivity.getContentResolver().insert(ContactsContract.Data.CONTENT_URI, values);2. 跳轉(zhuǎn)添加

將上邊的所有 row 添加到數(shù)組中,一起傳遞

List<ContentValues> values = new ArrayList<>();//添加需要設(shè)置的數(shù)據(jù)...Intent intent = new Intent(Intent.ACTION_INSERT, ContactsContract.Contacts.CONTENT_URI);intent.putExtra(ContactsContract.Intents.Insert.NAME, name);intent.putParcelableArrayListExtra(ContactsContract.Intents.Insert.DATA, values);mActivity.startActivity(intent);3. 添加到現(xiàn)有聯(lián)系人

將上邊的所有 row 添加到數(shù)組中,一起傳遞,跳轉(zhuǎn)后需要選擇聯(lián)系人

List<ContentValues> values = new ArrayList<>();//添加需要設(shè)置的數(shù)據(jù)...Intent intent = new Intent(Intent.ACTION_INSERT_OR_EDIT);intent.setType(ContactsContract.Contacts.CONTENT_ITEM_TYPE);intent.putParcelableArrayListExtra(ContactsContract.Intents.Insert.DATA, values);startActivity(intent);權(quán)限

權(quán)限不能忘了,不然會閃退報錯的,分別是聯(lián)系人的讀寫權(quán)限

<uses-permission android:/> <uses-permission android:/>

總結(jié)到此為止,還算比較詳細(xì),有補(bǔ)充歡迎評論。

以上就是Android添加聯(lián)系人到通訊錄的方法的詳細(xì)內(nèi)容,更多關(guān)于Android添加聯(lián)系人到通訊錄的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Android
相關(guān)文章:
主站蜘蛛池模板: 欧美在线观看高清一二三区 | 亚洲男人的天堂久久香蕉 | 日本成aⅴ人片日本伦 | 2020国产精品 | 亚洲天堂免费看 | 日韩亚洲欧美综合一区二区三区 | 国产精品日本一区二区在线播放 | 欧美成人激情 | 亚洲精品精品一区 | 一级黄视频 | www.99精品 | 老头巨大粗长xxxxx | 精品国产成人a在线观看 | 一级毛片免费在线观看网站 | 综合 欧美 亚洲日本 | 三级a黄| 国产精品亚洲一区二区三区在线观看 | www.自拍| 色精品一区二区三区 | 国产精品亚洲二区 | 国内美女福利视频在线观看网站 | 亚洲精品欧美日韩 | 日韩国产片| 国产激情一区二区三区在线观看 | 国产免费一区二区三区免费视频 | 国产精品每日更新在线观看 | 97在线观看免费版 | 免费aⅴ在线 | 国产aⅴ一区二区三区 | 日韩在线观看视频免费 | 国产一区二区三区欧美 | 欧美一区二区三区久久综 | 国产片网站 | 久久久久一区二区三区 | 国产黄色在线播放 | 久久免费精品视频在线观看 | 一级毛片私人影院老司机 | 91亚洲自偷手机在线观看 | 鸥美性生交xxxxx久久久 | 日本高清www片 | 欧美满嘴射 |