cordova / phonegap 3.0设备属性

时间:2013-08-28 14:24:09

标签: cordova

我是phonegap / cordova 3.0的新手,似乎我遇到了与PhoneGap Help: device properties, cordova v phonegap, xcode debugging类似的问题。 不幸的是,我现在无法在互联网上找到解决方案。

为ios创建Hello World示例后,一切都在模拟器中正常工作。但是在使用为den文档中的设备属性给出的示例代码更改了index.html中的内容之后,模拟器的屏幕仅显示“正在加载设备属性...”。 由于某种原因,onDeviceReady()函数无法正常工作。 任何帮助都非常感谢

以下是设备属性的index.html代码

<!DOCTYPE html>

             设备属性示例

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

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

        // device APIs are available
        //
        function onDeviceReady() {
            var element = document.getElementById('deviceProperties');
            element.innerHTML = 'Device Name: '     + device.name     + '<br />' +
            'Device Cordova: '  + device.cordova  + '<br />' +
            'Device Platform: ' + device.platform + '<br />' +
            'Device UUID: '     + device.uuid     + '<br />' +
            'Device Model: '    + device.model    + '<br />' +
            'Device Version: '  + device.version  + '<br />';
        }

        </script>
</head>
<body>
    <p id="deviceProperties">Loading device properties...</p>
</body>

screenhot of xcode and simulator

3 个答案:

答案 0 :(得分:5)

正如我在您链接的其他问题中提到的,我认为这里的问题可能是缺少插件。您的 onDeviceReady 函数应该正常工作(尝试在那里发出警报,只是为了测试它)......但是当您尝试访问像 device.model 和 device.version

要访问设备对象,您需要安装插件。如果没有插件,复制示例代码将无法正常工作。如果您还没有这样做,请使用以下方法获取插件:

$ cordova plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-device.git

希望这对您有所帮助。

答案 1 :(得分:0)

对于像我这样的新手,要提到必须在项目目录中使用插件链接,并且必须将插件的.h和.m文件移动到项目插件目录中。不要忘记DeviceDetails.js必须与index.js

进入同一目录

答案 2 :(得分:0)

除了避免回答并避免像Helmut遇到的路径问题:

  1. 打开终端/外壳
  2. 转到Phonegap项目的目录($ cd path / to / project)
  3. 在终端/ Shell中键入以下内容:

    cordova插件添加org.apache.cordova.device

  4. 不幸的是,用这种方法无法区分同一平台的不同设备。例如,如果您必须确定是否在iPhone 5上查看该应用程序,则应该检索屏幕大小。