• 保存到桌面  加入收藏  设为首页
混合APP框架

MUI框架-读取手机通讯录

时间:2017-09-19 17:03:52   作者:江节胜   来源:胜行天下   阅读:862   评论:0
mui.plusReady(function() {
		getContactsFromPhone(function(contactsArr) {
	 });
});

var contact_arr = []; //保存通讯录具体信息
	/**
 * @param  callback contactsArr 数组:value: i, name:姓名,phone:手机号
 */
function getContactsFromPhone(callback) {
	//先清空变量,不要在方法内重复定义变量!
	contact_arr.splice(0, contact_arr.length);
	//提取用户手机联系人 传给数据源contact_arr
	plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE, function(addressbook) {
		addressbook.find(["displayName", "phoneNumbers"], function(contacts) {
			for(var i = 0; i < contacts.length; i++) { //要不要分页查询?
				//contact_arr_text是contact_arr数据源中每一个item用于显示的值 此处为联系人名称+手机号
				//这里一定要判断联系人名称不为空 一旦漏判undefined后面所有逻辑都不会执行!!
				if(contacts[i] !== undefined && contacts[i].displayName !== undefined) {
					//判断用户的手机号码不为空时 取手机号码
					if(contacts[i].phoneNumbers[0] !== undefined) {
						var contact_arr_name = contacts[i].displayName;
						var contact_arr_phone = contacts[i].phoneNumbers[0].value;
					}
					//若手机号为空 则判断住宅号是否为空 不为空就用住宅号码 若住宅号码也为空 这个用户就不显示了
					else if(contacts[i].phoneNumbers[1] !== undefined) {
						var contact_arr_name = contacts[i].displayName;
						var contact_arr_phone = contacts[i].phoneNumbers[1].value;
					}
				}
				//console.log(JSON.stringify(contact_arr_text)); // "测试\t18226922502"
				//将数据传给数据源
				contact_arr[i] = {
					value: i,
					name: contact_arr_name.replace(' ','').replace('-',''),
					phone: contact_arr_phone.replace(' ','').replace('-','')
				};
			}
			callback(contact_arr);
		}, false);
	}, function(e) {
		plus.ui.toast("未能获取到联系人数据!");
		callback(contact_arr);
	});
}

有任何疑问或技术合作都可联系我

微信:767000122 【推荐】

QQ:596957738


标签:MUI  手机通讯录  
相关文章
相关评论

加我微信 596957738 (QQ同号)加我微信   QQ联系:596957738   地址:江苏省南京市雨花台区

苏公网安备32011402010305号

皖ICP备16019989号

江节胜的Gitee,江节胜的Git地址