电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

Android添加聯系人到通訊錄的方法

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

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

// 聯系人名字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);聯系人昵稱

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

這里需要將圖片的 byte 數組傳進去

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());聯系人備注

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

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

ContentValues row5 = new ContentValues();// 聯系人的電話號碼addPhoneNumber(row5, values, mobilePhoneNumber, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE);ContentValues row6 = new ContentValues();// 聯系人的公司電話addPhoneNumber(row6, values, hostNumber, ContactsContract.CommonDataKinds.Phone.TYPE_COMPANY_MAIN);ContentValues row7 = new ContentValues();// 聯系人的工作號碼addPhoneNumber(row7, values, workPhoneNumber, ContactsContract.CommonDataKinds.Phone.TYPE_WORK_MOBILE);ContentValues row8 = new ContentValues();// 聯系人的工作傳真addPhoneNumber(row8, values, workFaxNumber, ContactsContract.CommonDataKinds.Phone.TYPE_FAX_WORK);ContentValues row9 = new ContentValues();// 聯系人的住宅號碼addPhoneNumber(row9, values, homePhoneNumber, ContactsContract.CommonDataKinds.Phone.TYPE_HOME);ContentValues row10 = new ContentValues();// 聯系人的住宅傳真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);}聯系人公司和職位

// 聯系人公司和職位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);網站

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

// 插入Email數據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);聯系人地址

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

//其他地址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);}添加方式

添加方式分為三種,一種是靜默添加,直接存入數據庫中,另外兩種是跳轉,直接新增或者添加到現有聯系人中

1. 靜默添加

以添加名字為例,直接插入到數據庫中

// 向RawContacts.CONTENT_URI空值插入,// 先獲取Android系統返回的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);// 內容類型values.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);// 聯系人名字values.put(ContactsContract.CommonDataKinds.StructuredName.GIVEN_NAME, firstName);values.put(ContactsContract.CommonDataKinds.StructuredName.FAMILY_NAME, lastName);values.put(ContactsContract.CommonDataKinds.StructuredName.MIDDLE_NAME, middleName);// 向聯系人URI添加聯系人名字mActivity.getContentResolver().insert(ContactsContract.Data.CONTENT_URI, values);2. 跳轉添加

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

List<ContentValues> values = new ArrayList<>();//添加需要設置的數據...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. 添加到現有聯系人

將上邊的所有 row 添加到數組中,一起傳遞,跳轉后需要選擇聯系人

List<ContentValues> values = new ArrayList<>();//添加需要設置的數據...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);權限

權限不能忘了,不然會閃退報錯的,分別是聯系人的讀寫權限

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

總結到此為止,還算比較詳細,有補充歡迎評論。

以上就是Android添加聯系人到通訊錄的方法的詳細內容,更多關于Android添加聯系人到通訊錄的資料請關注好吧啦網其它相關文章!

標簽: Android
相關文章:
主站蜘蛛池模板: 干法制粒机_智能干法制粒机_张家港市开创机械制造有限公司 | 水稻烘干机,小麦烘干机,大豆烘干机,玉米烘干机,粮食烘干机_巩义市锦华粮食烘干机械制造有限公司 水环真空泵厂家,2bv真空泵,2be真空泵-淄博真空设备厂 | 河南砖机首页-全自动液压免烧砖机,小型砌块水泥砖机厂家[十年老厂] | 灰板纸、灰底白、硬纸板等纸品生产商-金泊纸业 | 变色龙云 - 打包app_原生app_在线制作平台_短链接_ip查询 | 荣事达手推洗地机_洗地机厂家_驾驶式扫地机_工业清洁设备 | 免联考国际MBA_在职MBA报考条件/科目/排名-MBA信息网 | 锌合金压铸-铝合金压铸厂-压铸模具-冷挤压-誉格精密压铸 | 井式炉-台车式回火炉-丹阳市电炉厂有限公司 | 防水套管-柔性防水套管-刚性防水套管-上海执品管件有限公司 | 厂房出售_厂房仓库出租_写字楼招租_土地出售-中苣招商网-中苣招商网 | 石英砂矿石色选机_履带辣椒色选机_X光异物检测机-合肥幼狮光电科技 | 绿萝净除甲醛|深圳除甲醛公司|测甲醛怎么收费|培训机构|电影院|办公室|车内|室内除甲醛案例|原理|方法|价格立马咨询 | 美名宝起名网-在线宝宝、公司、起名平台 | 建筑资质代办-建筑资质转让找上海国信启航 | 钢结构厂房造价_钢结构厂房预算_轻钢结构厂房_山东三维钢结构公司 | 阴离子聚丙烯酰胺价格_PAM_高分子聚丙烯酰胺厂家-河南泰航净水材料有限公司 | 软膜天花_软膜灯箱_首选乐创品牌_一站式天花软膜材料供应商! | 自动记录数据电子台秤,记忆储存重量电子桌称,设定时间记录电子秤-昆山巨天 | 杭州荣奥家具有限公司-浙江办公家具,杭州办公家具厂 | 列管冷凝器,刮板蒸发器,外盘管反应釜厂家-无锡曼旺化工设备有限公司 | 致胜管家软件服务【在线免费体验】 | 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 民用音响-拉杆音响-家用音响-ktv专用音响-万昌科技 | 硬度计_影像测量仪_维氏硬度计_佛山市精测计量仪器设备有限公司厂家 | 涡街流量计_LUGB智能管道式高温防爆蒸汽温压补偿计量表-江苏凯铭仪表有限公司 | 搪瓷反应釜厂家,淄博搪瓷反应釜-淄博卓耀 | 运动木地板厂家,篮球场木地板品牌,体育场馆木地板安装 - 欧氏运动地板 | 五轴加工中心_数控加工中心_铝型材加工中心-罗威斯 | Brotu | 关注AI,Web3.0,VR/AR,GPT,元宇宙区块链数字产业 | 棉柔巾代加工_洗脸巾oem_一次性毛巾_浴巾生产厂家-杭州禾壹卫品科技有限公司 | led太阳能路灯厂家价格_风光互补庭院灯_农村市政工程路灯-中山华可路灯品牌 | 锻造液压机,粉末冶金,拉伸,坩埚成型液压机定制生产厂家-山东威力重工官方网站 | 点焊机-缝焊机-闪光对焊机-电阻焊设备生产厂家-上海骏腾发智能设备有限公司 | 刚性-柔性防水套管-橡胶伸缩接头-波纹管补偿器-启腾供水材料有限公司 | 台式低速离心机-脱泡离心机-菌种摇床-常州市万丰仪器制造有限公司 | 专业音响设备_舞台音响设备_会议音响工程-首选深圳一禾科技 | 铣刨料沥青破碎机-沥青再生料设备-RAP热再生混合料破碎筛分设备 -江苏锡宝重工 | 加热制冷恒温循环器-加热制冷循环油浴-杭州庚雨仪器有限公司 | 锻造液压机,粉末冶金,拉伸,坩埚成型液压机定制生产厂家-山东威力重工官方网站 | 高尔夫球杆_高尔夫果岭_高尔夫用品-深圳市新高品体育用品有限公司 |