cordova的cordova-plugin-contacts(插件)无法在ios中搜索phoneNumbers的正确结果。 联系人应用程序中预装了许多联系人。 我使用的是cordova 5.4.0,插件是cordova-plugin-contacts,并为iOS平台构建应用程序。
以下是将PhoneNumbers搜索到联系人中的代码。
function findContacts(){
var options = new ContactFindOptions();
options.filter = "1234567890";
options.multiple = true;
options.desiredFields = [navigator.contacts.fieldType.displayName, navigator.contacts.fieldType.name];
options.hasPhoneNumber = true;
var fields = [navigator.contacts.fieldType.phoneNumbers];
navigator.contacts.find(fields, onFindSuccess, onFindError, options);
}
function onFindSuccess(contacts) {
alert("Contact: " + JSON.stringify(contacts));
};
function onFindError(contactError) {
alert("onError!");
};
即使与联系人列表中提供的电话号码1234567890联系,也会返回空阵列。
在对其他搜索字段进行一些研究之后,在检查整个JSON字符串时,我发现保存在联系人列表中的电话号码具有特定的格式。
例如:
home:1(234)567-890
工作:0987654321
mobile:(678)901-2345
现在,我得到了工作电话号码0987654321的结果。但是当尝试使用相同格式的家庭电话号码1(234)567-890时,它会给出一个空数组。我错过了什么吗?
是否有适用于所有类型的电话号码格式的解决方案?