在使用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
你的帮助很受欢迎!
答案 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)
device.model可能就是你想要的。
http://docs.phonegap.com/en/2.3.0/cordova_device_device.model.md.html