使用 javascript 列出 phone 个联系人

Listing phone contacts using javascript

我正在使用简单的 html、css、js 和 condova 为 android、ios 和 windows 开发多平台应用程序,但是我发现将设备上的所有联系人显示在列表中,就像在电话簿或联系人应用程序中找到它一样,这听起来很简单,但具有挑战性。下面是联系界面的设计:

<?php
?>

<html>
    <head>
        <title></title>
        <script type="text/javascript" src="cordova.js"></script>
        <style type="text/css">
            a { 
                color: inherit;
                text-decoration: none;
            }

            #BODY {
                background-color: #D9D9D9;
            }

            #TABLE {
                width:100.0%;
                border-collapse:collapse;
                background-color: #3A59C0;
                position: fixed;
                top: 0px;
                margin-left: -8px;
            }

            #CONTACTLIST {
                width: 100%;
                height: 91%;
                margin-top: 53px;
                background-color: #D9D9D9;
                overflow-y: scroll; 
                overflow-x:hidden;
                position: fixed;
                list-style-type: none;
                margin-left: -50px;
            }

            #CONTACTLIST > li {
                border-top: 1px solid gray;
            }

            #CONTACTLIST span {
                margin-left: 15px;
                font-family: verdana;
                color: #535353;
                font-size: 1.6cm;
            }

        </style>
    </head>

    <body id="BODY">
        <table id="TABLE" >

            <tr style="height: 50px; width: 45px;">
                <td style="width: 45%;"><center><span style="font-family: verdana;  color: white;">Contacts</span></center></td>
            </tr>

            <tr style="height: 10px;  width: 45px;">
                <td style="width: 45%; background-color: #31C1FF;"></td>
                <td style="width: 45%;"></td>
                <td></td>
            </tr>
        </table>
        <ul id="CONTACTLIST"> 
            <li><span>"NAME"  "NUMBER"</span></li>
            <li><span>"NAME"  "NUMBER"</span></li>
            <li><span>"NAME"  "NUMBER"</span></li>
            <li><span>"NAME"  "NUMBER"</span></li>
            <li><span>"NAME"  "NUMBER"</span></li>
            <li><span>"NAME"  "NUMBER"</span></li>
            <li><span>"NAME"  "NUMBER"</span></li>
            <li><span>"NAME"  "NUMBER"</span></li>
            <li><span>"NAME"  "NUMBER"</span></li>
            <li><span>"NAME"  "NUMBER"</span></li>
            <li><span>"NAME"  "NUMBER"</span></li>
            <li><span>"NAME"  "NUMBER"</span></li>
            <li><span>"NAME"  "NUMBER"</span></li>
            <li><span>"NAME"  "NUMBER"</span></li>
            <li><span>"NAME"  "NUMBER"</span></li>
            <li><span>"NAME"  "NUMBER"</span></li>
            <li><span>"NAME"  "NUMBER"</span></li>
            <li><span>"NAME"  "NUMBER"</span></li>
            <li><span>"NAME"  "NUMBER"</span></li>
            <li><span>"NAME"  "NUMBER"</span></li>
        </ul>
    </body>
</html>

但不是 "NAME" "NUMBER" 脚本将访问联系人数据库并使用 cordova.js 文件中可用的方法按字母顺序列出所有联系人。

来自 Cordova 3 even “core” APIs 在核心之外 (cordova.js)。

所以您需要先安装 contacts plugin and then add the code for list them. If you want to only select a contact, you could use the pick contact 功能,打开本机联系人选择器和 return 选定的联系人对象。

获取来自 phone

的所有联系人
function onSuccess(contacts) {
    console.log('Found ' + contacts.length + ' contacts.');
    // here you can manipulate the contacts array
    console.log(contacts);
};

function onError(contactError) {
    console.log('Error: '+contactError);
};

// list all contacts
var options      = new ContactFindOptions();
options.filter   = "";
options.multiple = true;
var fields = [navigator.contacts.fieldType.displayName, navigator.contacts.fieldType.name];
navigator.contacts.find(fields, onSuccess, onError, options);