0

我正在使用 phonegap 做我的第一个黑莓应用程序,但我无法让设备准备好触发我收到警报“进入初始化函数”但没有调用回调函数我使用 cordova 2.1.0 和 5.0.0.469 黑莓

这是 Index.html

    <!DOCTYPE html>
<!--
    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
     KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.
-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport"
    content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
<link rel="stylesheet" type="text/css" href="css/index.css" />
<title>Hello World</title>
</head>
<body onload="init();">
    <div class="app">
        <h1>Apache Cordova</h1>
        <div id="deviceready" class="blink">
            <p class="event listening">Connecting to Device</p>
            <p class="event received">Device is Ready</p>
        </div>
    </div>
    <script type="text/javascript" src="js/webworks.js"></script>
    <script type="text/javascript" src="cordova-2.1.0.js"></script>
    <script type="text/javascript" src="js/index.js"></script>
    <script>
        function onDeviceReady() {
            alert("Inside Device Ready");
        }

        // register Cordova event listeners when DOM content loaded
        function init() {
            alert("entered init function");
            document.addEventListener('deviceready', onDeviceReady, true);
        }
    </script>
    <script type="text/javascript">
        //app.initialize();
    </script>
</body>
</html>

请建议这里可能有问题的是plugins.xml

<?xml version="1.0" encoding="UTF-8"?>

     http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.

-->

<plugin
    name="App"
    value="com.phonegap.app.App" />

<plugin
    name="Device"
    value="com.phonegap.device.Device" />

<plugin
    name="Camera"
    value="com.phonegap.camera.Camera" />

<plugin
    name="Network Status"
    value="com.phonegap.network.Network" />

<plugin
    name="Notification"
    value="com.phonegap.notification.Notification" />

<plugin
    name="Accelerometer"
    value="com.phonegap.accelerometer.Accelerometer" />

<plugin
    name="Geolocation"
    value="com.phonegap.geolocation.Geolocation" />

<plugin
    name="File"
    value="com.phonegap.file.FileManager" />

<plugin
    name="FileTransfer"
    value="com.phonegap.http.FileTransfer" />

<plugin
    name="Contact"
    value="com.phonegap.pim.Contact" />

<plugin
    name="MediaCapture"
    value="com.phonegap.media.MediaCapture" />

<plugin
    name="Battery"
    value="com.phonegap.battery.Battery" />

4

2 回答 2

1

我假设您已经放置了您的 cordova.js 并且可以正确生成您的 cod 文件。

查看您的 config.xml 和小部件功能:

  <feature id="blackberry.system" required="true" version="1.0.0.0" />
  <feature id="org.apache.cordova" required="true" version="1.0.0" />
  <feature id="blackberry.app" required="true" version="1.0.0.0" />
  <feature id="blackberry.app.event" required="true" version="1.0.0.0" />
  <feature id="blackberry.system.event" required="true" version="1.0.0.0"/>

这些将激活您的黑莓事件到您的 Phonegap 应用程序。

您可以激活所有功能以查看您想要的此类事件是否未被触发。

于 2013-04-10T07:50:59.627 回答
0

你可以检查两件事。

1.javascript文件中提到的cordova版本与您在www文件夹中的版本相同。

例如,如果您在 .js 文件中包含版本 2.1.0 作为..

<script type="text/javascript" src="cordova-2.1.0.js"></script>

您的 www 文件夹中也应该有相同版本的科尔多瓦。

2.您需要在 config.xml 中添加以下行

"<feature id="org.apache.cordova" required="true" version="1.0.0" />"
于 2012-11-22T11:02:37.223 回答