Android上未定义Phonegap / Cordova Device API

时间:2014-01-23 20:39:31

标签: javascript android cordova

我遇到Cordova / Phonetgap Device API问题,找不到objetc设备。我回调device.model或任何设备并返回:

ReferenceError:找不到变量:device at file:///android_asset/www/index.html:16

我正在执行以下步骤:http://cordova.apache.org/docs/en/3.3.0/cordova_device_device.md.html#Device firts创建了cordova android项目,之后我通过以下方式安装插件设备:“cordova plugin add org.apache.cordova.device”我正在使用此index.html进行测试:

<!DOCTYPE html>
<html>
<head>
<title>Device Properties Example</title>
<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 string = device.platform;
    var element = document.getElementById('deviceProperties');
    element.innerHTML =  string;
}

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

我在app / res / xml / config.xml这行:

<feature name="Device">
    <param name="android-package" value="org.apache.cordova.device.Device" />
</feature>

这里有截图了解更多详情: https://dl.dropboxusercontent.com/u/6404856/Helpme.JPG

2 个答案:

答案 0 :(得分:1)

当我看到你正在使用eclipse时,你是否在安装插件后运行cordova prepare androidcordova build android? (请注意,它将使用项目根目录中www文件夹的内容覆盖您的assets / www文件夹)

答案 1 :(得分:0)

您的代码对我来说很好。尝试运行cordova plugin ls并确保设备插件显示。还尝试卸载然后重新安装它。如果这不起作用,那么尝试删除your_project/plugins/android.json文件,重新安装插件,然后构建android平台。有时android.json无法正确更新,这会让一切都混乱。