加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

详解HTML5通讯录获取指定多个人的信息

发布时间:2020-03-15 16:14:25 所属栏目:编程 来源:站长网
导读:一、获取多小我私人的信息:要办理通信录导入多小我私人的信息之前,要办理获取多小我私人的信息。我通过plus.contacts.getAddressBook和address.find的套用把通信录内里的全部接洽人的id和displayName获取出来,然后通过本身写的通信录获取页面表现出来。 1、办理这个

一、获取多小我私人的信息:要办理通信录导入多小我私人的信息之前,要办理获取多小我私人的信息。我通过plus.contacts.getAddressBook和address.find的套用把通信录内里的全部接洽人的id和displayName获取出来,然后通过本身写的通信录获取页面表现出来。

1、办理这个题目起首你要本身写一个js通信录,这样可以把你全部接洽人首字母疏散出来,而且旁边可以跳转到你要的首字母。

2、办理获取全部接洽人信息

plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE, function(addressbook) { //获取通信录信息 // 可通过addressbook举办通信录操纵 addressbook.find(null, function(contacts) { var username = new Array(); var LinkList = new LinkedList(); if(contacts.length > 0) { //获取当前通信录内里全部人 for(var i = 0; i < contacts.length; i ) { username[i] = contacts[i].displayName "-" contacts[i].id; //毗连id和username,为后头筛选最筹备 } //这下面的代码是把全部接洽人的信息分类,这就涉及到了本身写的JS页面代码 LinkList = sortPY(username); //把接洽人数组分类 //LinkList.show(); createLiCheckBox(LinkList); //分类信息表现至页面,我行使checkBox举办多个接洽人选择 } }, function(e) { alert("Find contact error: " e.message); }); }, function(e) { });

二、从通信录导入多个选定的小我私人书息:办理这个题目在先前建设通信录页面的时辰就必然要把接洽人的id放在在页面上(行使display潜匿),这样我获取被选中的checkBox的时辰就可以直接获取id,而且把这些id放到一个数组内里。再通过plus.contacts.getAddressBook和address.find的套用把这些id的接洽人信息筛选出来。

1、办理行使checkBox获取接洽人id,这里我行使了JQuery。

//筛选已经被选中的checkbox $("input:checked").each(function() { var index = $(this).parent().prev().children('label').text(); //获取id var name = $(this).parent().prev().children('p').text(); //获取姓名 username.push(name); usernameIndex.push(index); });

2、办理把这些index放到find内里举办筛选信息,把特定id下面的接洽人信息拿出来

plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE, function(addressbook) { //获取通信录信息 for(var j = 0; j < username.length; j ) {//轮回所选取的接洽人,记得轮回必然要放在这里,一开始我放在 plus.contacts.getAddressBook表面是错误 addressbook.find(null, function(contacts) { console.log("进入查询"); for(var i = 0; i < contacts.length; i ) {//无论是否为多个信息,必然要轮回数组 console.log("进入轮回"); //var id = contacts[i].id; var displayname = contacts[i].displayName; var phone = ""; var emails = ""; var dates = ""; var remark = ""; if(contacts[i].phoneNumbers.length > 0) {//这里必要判定是否为空,为空的数组没有index=0; phone = contacts[i].phoneNumbers[0].value; } else { phone = contacts[i].phoneNumbers; } if(contacts[i].emails.length > 0) {//这里必要判定是否为空,为空的数组没有index=0; emails = contacts[i].emails[0].value; } else { emails = contacts[i].emails; } var dateNum = new Date(contacts[i].birthday);//这里的birthday是number范例!!!官方手册坑爹? dates = dateNum.getFullYear() "." (dateNum.getMonth() 1) "." dateNum.getDate(); remark = contacts[i].note; var getContact = {//把全部信息放到一个json内里 contactName: displayname, sex: "", department: "", positions: "", tel: "", phone: phone, eMail: emails, birthday: dates, hobby: "", remark: remark }; //这下面是我的营业代码了,这里各人可以写本身的信息 //createContactTable(db); //InsertContact(db, getContact); //多个信息插入有线程安详的题目呈现!!!!!!! } //console.log(username.length); }, function(e) { console.log("查询错误"); }, { //这内里的筛选很是重要!!!这样才气选出匹配的信息 filter: [{ logic: "or", field: "id", value: usernameIndex[j] }], multi: false }); } }, function(e) { console.log("打开通信录错误"); });

通过以上代码就可以获取到了多个接洽人的信息,各人可以实行一下。但愿对各人的进修有所辅佐,也但愿各人多多支持剧本之家。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读