联系人号码在phonegap应用程序中重复出现

时间:2014-08-06 13:42:45

标签: cordova

使用本教程cordova_contacts_contacts,我尝试获取具有姓名和号码的联系人列表,并且我正确地得到了所有这些内容,但是检索号码存在问题。 当我要阅读联系人列表时,重复相同的号码(仅限某些号码)。喜欢这个

姓名abc,

电话号码1234,

电话号码1234

此问题只出现在设备上。

下面是我的代码,请找出我的问题。

 var s = "";

for (var i=0; i < contacts.length; i++) {
    var contactInfo = contacts[i];
    if ((contactInfo.name != null) && (contactInfo.phoneNumbers != null)){
        s += "Name : " + contactInfo.name.formatted + ", Birthday : " +contactInfo.birthday;

        for (var j=0; j < contactInfo.phoneNumbers.length; j++) {
            s += ", Contacts Type : " + contactInfo.phoneNumbers[j].type + " & No : " + contactInfo.phoneNumbers[j].value;
        }

        document.getElementById("results").innerHTML=s;

        console.log(s);
    }
}

1 个答案:

答案 0 :(得分:0)

我使用以下代码解决了:

var s = "";
for (var i=0; i < contacts.length; i++) {
    var contactInfo = contacts[i];

    if (contactInfo.name != null){
        s += i+1+")" + "Name : " + contactInfo.name.formatted + "<br>";

        if (contactInfo.phoneNumbers != null){
            for (var j = 0; j < contactInfo.phoneNumbers.length; j++){
                if ((j != 0) && ((contactInfo.phoneNumbers[j-1].value) == (contactInfo.phoneNumbers[j].value)))
                    console.log("same no");
                else
                    s += "Contacts Type : " + contactInfo.phoneNumbers[j].type + " & No : " + contactInfo.phoneNumbers[j].value + "<br>";
            }
        }

        if (contactInfo.emails != null){
            for (var k = 0; k < contactInfo.emails.length; k++) {
                if ( (k != 0) && ((contactInfo.emails[k-1].value) == (contactInfo.emails[k].value)))
                    console.log("same email");
                else
                    s += "Email Type : " + contactInfo.emails[k].type + " & email : " + contactInfo.emails[k].value + "<br>";
            }
        }

        if (contactInfo.birthday != null){
            s += ", Birthday : " + contactInfo.birthday;
        }

        s += "<br><br>"
        }
    }
    document.getElementById("results").innerHTML=s;