最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小采 时间:2020-11-27 15:04:56
文档

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

HTML5通讯录获取指定多个人的信息:这篇文章主要介绍了详解HTML5+通讯录获取指定多个人的信息 ,非常具有实用价值,需要的朋友可以参考下。本文介绍了HTML5通讯录获取指定多个人的信息,具体如下:一、获取多个人的信息:要解决通讯录导入多个人的信息之前,要解决获取多个人的信息。我通过pl
推荐度:
导读HTML5通讯录获取指定多个人的信息:这篇文章主要介绍了详解HTML5+通讯录获取指定多个人的信息 ,非常具有实用价值,需要的朋友可以参考下。本文介绍了HTML5通讯录获取指定多个人的信息,具体如下:一、获取多个人的信息:要解决通讯录导入多个人的信息之前,要解决获取多个人的信息。我通过pl


这篇文章主要介绍了详解HTML5+通讯录获取指定多个人的信息 ,非常具有实用价值,需要的朋友可以参考下。

本文介绍了HTML5通讯录获取指定多个人的信息,具体如下:

一、获取多个人的信息:要解决通讯录导入多个人的信息之前,要解决获取多个人的信息。我通过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("打开通讯录错误");
 });

文档

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

HTML5通讯录获取指定多个人的信息:这篇文章主要介绍了详解HTML5+通讯录获取指定多个人的信息 ,非常具有实用价值,需要的朋友可以参考下。本文介绍了HTML5通讯录获取指定多个人的信息,具体如下:一、获取多个人的信息:要解决通讯录导入多个人的信息之前,要解决获取多个人的信息。我通过pl
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top