我正试图在设备上设置首选语言,如下所示:
navigator.globalization.getPreferredLanguage(
function (language) {
alert('language: ' + language.value + '\n');
},
function () {
alert('nope');
}
);
当我点击模拟器时,我会弹出这个:
我安装了cordova插件以使用全球化:
cordova plugin add org.apache.cordova.globalization
我还在config.xml上添加了这一行:
<plugin name="Globalization" value="org.apache.cordova.Globalization" />
我在设备上进行了测试,但它正在运行。
顺便说一句,我使用的是cordova 3.5版本,但是当我启动intel xdk模拟器时,它显示的是2.9版本。也许这会导致这个问题?我也使用存储插件进行SQL查询,它工作正常!
答案 0 :(得分:1)
Cordova插件通常由两部分组成:1)JavaScript API和2)特定于目标平台的底层本机代码(例如,Android的Java代码,iOS的Objective C代码等)。英特尔XDK仿真器是模拟器,模拟本机部分,但仅以非常通用的方式,仅适用于选定数量的Cordova API。对于没有底层“本机模拟”的任何API,它提供此消息,因此您至少可以执行代码。它实际上并不模拟底层功能,但它确实允许您跟踪代码的这些部分。
最终,正如您所发现的那样,您需要在具有真实版本的真实设备上运行它。
此外,XDK模拟器目前知道的API是2.9.0 API。它正在修改以在将来的版本中支持3.x API。顺便说一下,XDK中的仿真器是Ripple仿真器的定制实现。