3

在使用 Phonegap 平台时,我遇到了一个问题。当尝试访问任何设备字符串时,例如 device.name 或 device.platform,我得到未定义的值。这发生在 iOS 和 Android 上。我已经在 ApplicationManifest 和配置中设置了 Android 的权限。

在对问题进行研究时,我发现问题可能是设备功能仅在大约 1 到 3 秒后才可用。我已经进行了一些测试,将超时设置为 10 秒,甚至在不同时间(最多几分钟)通过 onClick 手动执行操作,但我一直得到未定义的值。

我试过 window.device.name 而不是 device.name,结果相同。

有谁知道为什么会这样?

在 iOS 6.0.2 和 Android 4.1.2 上运行 Phonegap 2.3.0

代码:

$('#deviceName').html('Name: ' + device.name);
$('#devicePlatform').html('Platform: ' + device.platform);
$('#devicePlatformVersion').html('Version: ' + device.version);

完整代码在这里

非常感谢您的帮助!

4

3 回答 3

10

“警告:device.name自 2.3.0 版起已弃用。请device.model改用。”

请参阅以下内容: http: //docs.phonegap.com/en/edge/cordova_device_device.md.html#device.name

于 2013-07-27T16:42:50.680 回答
3

访问功能

从 3.0 版开始,Cordova 将设备级 API 实现为插件。使用命令行界面中描述的 CLI 的插件命令为项目添加或删除此功能:

cordova plugin add org.apache.cordova.device

如在此处的文档中找到:http:
//docs.phonegap.com/en/edge/cordova_device_device.md.html

https://github.com/apache/cordova-plugin-device/blob/master/doc/index .md

于 2014-12-31T06:27:36.667 回答
1

device.model 可能是您想要的。

http://docs.phonegap.com/en/2.3.0/cordova_device_device.model.md.html

于 2013-07-05T12:45:28.387 回答