Cordova/PhoneGap 3.0 设备属性

4
我是phonegap/cordova 3.0的新手,似乎遇到了与PhoneGap Help:device properties,cordova v phonegap,xcode debugging相似的问题。不幸的是,目前我在互联网上找不到解决方案。 在为iOS创建了Hello World示例后,在模拟器中一切正常。但在将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


你能发布一些你的代码吗? - Andrew Lively
在index.html中添加<p>,并将代码粘贴到js./index.js中的设备准备好函数内...它适用于Cordova 3.6。 - gnganapath
3个回答

5

正如我在您链接的另一个问题中提到的那样,我认为这里的问题可能与缺少插件有关。您的onDeviceReady函数应该是有效的(尝试在其中添加一个警报以进行测试)...但我认为当您尝试访问device.modeldevice.version等内容时可能会遇到问题。

为了访问设备对象,您需要安装插件。如果没有安装插件,则无法复制示例代码。如果您还没有这样做,请使用以下命令获取插件:

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

希望这对您有所帮助,涉及到IT技术方面。请查看以下内容:

希望这对您有所帮助。


1
很高兴它起作用了。如果这确实解决了您的问题,请将其标记为正确答案 - 这将有助于未来的搜索,对于任何遇到相同问题的人(也会给我一些积分)。 :) - avoision

0
对于像我这样的新手来说,需要注意插件链接必须在项目目录中使用,并且插件的.h和.m文件必须移动到项目插件目录中。不要忘记DeviceDetails.js必须放在与index.js相同的目录中。

0

除了avoisions的回答以外,为了避免像Helmut遇到的路径问题:

  1. 打开终端/Shell
  2. 进入您的Phonegap项目目录 ($ cd path/to/project)
  3. 在终端/Shell中输入以下内容:

    cordova plugin add org.apache.cordova.device

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接