1

我想开始使用PhoneGap。我在github中创建了项目并使用PhoneGap Build 构建它。当我将其下载到我的 android 设备时onDeviceReady(),它不会被触发。我错过了什么吗?

4

2 回答 2

0

在您的 index.html 中,将您的 JavaScript 代码从标头移到 HTML 正文中。

<html>
  <head>
    <title>Contact Example</title>
    <script type="text/javascript" src="phoneGap.js"></script>

  </head>
  <body>
    <h1>Example</h1>
    <p>Find Contacts</p>

     <script type="text/javascript" >

    document.addEventListener("deviceready", onDeviceReady, false);

    // Cordova is ready
    //
    function onDeviceReady() {
        // find all contacts with 'Bob' in any name field
        var options = new ContactFindOptions();
        options.filter="Bob"; 
        var fields = ["displayName", "name"];
        navigator.contacts.find(fields, onSuccess, onError, options);
    }

    // onSuccess: Get a snapshot of the current contacts
    //
    function onSuccess(contacts) {
        for (var i=0; i<contacts.length; i++) {
            console.log("Display Name = " + contacts[i].displayName);
        }
    }

    // onError: Failed to get the contacts
    //
    function onError(contactError) {
        alert('onError!');
    }

    </script>
  </body>
</html>
于 2013-03-04T23:30:45.227 回答
0

使用 PGB 时,不要在项目中包含 phonegap.js 文件。

我知道这听起来很奇怪,但是您调用获取 JS 和 PGB 将在构建时基于每个平台自动添加它。

因此,基于 index.html 文件中的这个调用,

< script type="text/javascript" src="phoneGap.js">

PGB 会将 Android 版本或 IOS 版本等添加到每个单独操作系统的最终构建中。

然而它应该是:

< script type="text/javascript" src="phonegap.js">

见这里:https ://build.phonegap.com/docs/preparing-your-app

因此,从您的 reop 中删除 phonegap.js 文件并将最新的文件拉入 PGB 并重建。

于 2013-03-07T00:39:21.703 回答