findever
findever
  • 发布:2014-10-12 16:30
  • 更新:2014-10-13 23:39
  • 阅读:1767

如何获取所有联系人

分类:HTML5+

使用通讯录对象AddressBook的find方法获取联系人,过滤条件:
filter:ContactFindFilter,可设置为空,表示不过滤。
试过null、false、[]、{}、不填,结果均获取不到联系人,请问什么样才算是设置为空?怎么样才能获取到所有的联系人?

另外:
value:DOMString,区配的联系人值,可使用区配符号“?”和“
这里面的?和
,我始终没明白是表示的什么。。。

2014-10-12 16:30 负责人:无 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

获取所有联系人代码:
{{{
plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE, function (addressbook) {
addressbook.find(["displayName","phoneNumbers"], function (contacts) {
alert(contacts.length);
}, function () {
alert("error");
}, {filter: {},multiple: true });
}, function (e) {
alert("Get address book failed: " + e.message);
});
}}}

  • findever (作者)

    filter试过null、false、[]、{}、不填,结果均获取不到联系人,android


    plus.contacts.getAddressBook(plus.contacts.ADDRESSBOOK_PHONE, function(addressbook) {

    // 可通过addressbook进行通讯录操作

    //varObj(addressbook);

    var contact = addressbook.find(null,

    function(contacts) {

    console.log(contacts.length);

    var list = '<li class="mui-table-view-divider">联系人列表</li>';

    for (var i in contacts) {

    var phoneNum = '';

    var t_arr = [];

    for (var j in contacts[i].phoneNumbers) {

    t_arr.push(contacts[i].phoneNumbers[j].value);

    }

    phoneNum = t_arr.join(', ');

    list += '<li class="mui-table-view-cell">' + (contacts[i].displayName||contacts[i].name.formatted) + phoneNum + '</li>';

    }

    $('.contact-list').html(list);

    //plus.device.dial( "10086", true );

    }, function(e) {

    alert("查找联系人失败: " + e.message);

    }, {

    filter: {},

    multiple: true

    }

    );

    });


    filter使用正常的过滤条件可以查找到结果,但是没法获取到所有数据

    2014-10-14 10:29

  • 阿洋

    我碰到的问题是ipad可以读取出联系人,但是我的魅族mx4提示了允许读取联系人,但是没有加载出来

    2015-01-14 00:31

该问题目前已经被锁定, 无法添加新回复