4

我也是 iPhone 开发和 phonegap 的新手。现在我想使用 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>

短屏幕: 在此处输入图像描述

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

4

2 回答 2

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);
}
于 2012-09-10T10:43:38.743 回答
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

于 2012-09-10T11:01:23.233 回答