如何使用phonegap在iphone中创建联系人

时间:2012-09-10 10:31:28

标签: javascript html5 ios5 ios4 cordova

我也是iPhone开发和手机新手的新手。现在我想使用phonegap在iPhone中创建联系人。我通过编码得到了在iPhone中创建联系人的链接。但是有一个用JavaScript编写的HTML代码。但是当我运行编码时,模拟器和设备只显示HTML标签内容。 我只关注以下链接:

 "http://docs.phonegap.com/en/2.0.0/cordova_contacts_contacts.md.html#Contacts"

我附上了编码和屏幕短片:

    <!DOCTYPE html>
    <html>
      <head>
        <title>Contact Example</title>

        <script type="text/javascript" charset="utf-8" src="cordova-2.0.0.js"></script>
        <script type="text/javascript" charset="utf-8">

        // Wait for Cordova to load
        //
        document.addEventListener("deviceready", onDeviceReady, false);

        // Cordova is ready
        //
        function onDeviceReady() {
    var myContact = navigator.contacts.create({"displayName": "Test User"});
    myContact.note = "This contact has a note.";
    navigator.contacts.save(myContact);  //HERE
    console.log("The contact, " + myContact.displayName + ", note: " + myContact.note);
}



        </script>
      </head>
      <body>
        <h1>Example</h1>
        <p>Create Contact</p>
      </body>
    </html>

屏幕短片: enter image description here

请帮我解决这个问题。我已按照上述链接的所有说明进行操作。但我没有得到解决方案。提前谢谢。

2 个答案:

答案 0 :(得分:1)

您需要保存联系人。

文档说明:

contacts.create是一个返回新Contact对象的同步函数。

此方法不会将Contact对象持久保存到设备联系人数据库。要将Contact对象持久保存到设备,将调用Contact.save方法。

function onDeviceReady() {
    var myContact = navigator.contacts.create({"displayName": "Test User"});
    myContact.note = "This contact has a note.";
    navigator.contacts.save(myContact);  //HERE
    console.log("The contact, " + myContact.displayName + ", note: " + myContact.note);
}

答案 1 :(得分:1)

var myContact = navigator.contacts.create({"displayName": "Test User"});

完整示例

<!DOCTYPE html>
<html>
  <head>
    <title>Contact Example</title>

    <script type="text/javascript" charset="utf-8" src="phonegap-1.0.0.js"></script>
    <script type="text/javascript" charset="utf-8">

    // Wait for PhoneGap to load
    //
    document.addEventListener("deviceready", onDeviceReady, false);

    // PhoneGap is ready
    //
    function onDeviceReady() {

    try {

        var contact = navigator.contacts.create();
        contact.displayName = "Plumber";
        contact.nickname = "Plumber";       //specify both to support all devices

        // populate some fields
        var name = new ContactName();
        name.givenName = "Jane";
        name.familyName = "Doe";
        contact.name = name;

        // save to device
        contact.save(function(){
            alert("Save Success");
        },function(){
            alert("Error...");
        });

    } catch(_err) {
        alert(_err)
    }

}    


    </script>
  </head>
  <body>
    <h1>Example</h1>
    <p>Create Contact</p>
  </body>
</html>

或者你可以找到联系api的更多选项。

我认为你还没有看过文件。我也编辑了我的答案,请再次检查。

说明: contacts.create是一个返回新Contact对象的同步函数。

此方法不会将Contact对象持久保存到设备联系人数据库。要将Contact对象持久保存到设备,请调用Contact.save方法。

http://docs.phonegap.com/en/1.0.0/phonegap_contacts_contacts.md.html#contacts.create