Javascript Cordova Compass API给出错误代码3

Javascript Cordova Compass API给出错误代码3,javascript,android,cordova,compass,Javascript,Android,Cordova,Compass,这个问题已经在stackoverflow上被问过了,但我没有找到任何答案,所以我再次提出了这个问题。请有人能回答这个问题吗 我的代码如下: <!DOCTYPE html> <html> <head> <title>Compass Example</title> <script type="text/javascript" charset="utf-8" src="cordova.js"></script> &

这个问题已经在stackoverflow上被问过了,但我没有找到任何答案,所以我再次提出了这个问题。请有人能回答这个问题吗

我的代码如下:

<!DOCTYPE html>
<html>
 <head>
<title>Compass Example</title>

<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady() 
{
    navigator.compass.getCurrentHeading(onSuccess, onError);
}

function onSuccess(heading)
 {
    alert('Heading: ' + heading.magneticHeading);
}

function onError(compassError) 
{
    alert('Compass Error: ' + compassError.code);
}

</script>
  </head>
 <body>
<h1>Example</h1>
<p>getCurrentHeading</p>
 </body>
</html>

罗盘示例
文件。添加的监听器(“deviceready”,OnDeviceraddy,false);
函数ondevicerady()
{
navigator.compass.getCurrentHeading(onSuccess,onError);
}
功能成功(标题)
{
警报('标题:'+标题.磁加载);
}
函数onError(compassError)
{
警报(“指南针错误:”+指南针错误代码);
}
例子
getCurrentHeading


您的设备没有磁性传感器,或者供应商没有在操作系统中对其实施支持

查看设备定向插件的Android源代码,启动代码是这样编写的(为简洁起见进行了修改):

List List=this.sensorManager.getSensorList(Sensor.TYPE_方向);
//如果找到,则注册为侦听器
如果(列表!=null)
this.setStatus(CompassListener.STARTING);
//如果出现错误,则将状态设置为错误
其他的
this.setStatus(CompassListener.ERROR\u启动失败);

不确定他们为什么在那里编写自己的错误代码(
public static int error\u FAILED\u TO\u START=3
),但实际上他们应该报告文档中定义的
COMPASS\u不受支持

我可以告诉你这个错误,我不知道解决办法<代码>公共静态整数错误\u启动失败\u=3
在什么类型的设备上运行原始问题中显示的代码示例?我使用的是android设备。
List<Sensor> list = this.sensorManager.getSensorList(Sensor.TYPE_ORIENTATION);

// If found, then register as listener
if (list != null)
    this.setStatus(CompassListener.STARTING);

// If error, then set status to error
else
    this.setStatus(CompassListener.ERROR_FAILED_TO_START);