在Android和iOS上都没有定义Phonegap设备

时间:2013-01-22 11:52:59

标签: android ios cordova

在使用Phonegap平台时,我遇到了问题。当试图访问任何设备字符串时,例如device.name或device.platform,我得到值undefined。这在iOS和Android上都会发生。我在ApplicationManifest和config中都设置了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);

完整代码here

你的帮助很受欢迎!

3 个答案:

答案 0 :(得分:10)

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

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

答案 1 :(得分: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

答案 2 :(得分:1)