我們正在嘗試開發具有GWT,phonegap 2.4,gwtphonegap 2.4的phonegap應用程序。現在我們正在對Android 4.2進行測試。我們已經使用了地理信息系統,它在瀏覽器和移動設備中的作用就像一個魅力,但是當我們嘗試使用全球化來獲取系統的語言環境時,它不起作用。 onPhneGapAvailable事件永遠不會觸發,如果我們直接調用getGlobalization,它說它是未定義的。全球化是未定義的,onPhoneGapAvailable不會觸發
我們稱之爲從onPhoneGapAvailable情況下,本方法:
private void detectLanguage() {
//if it is in a mobile take the language from the OS
if (phoneGap.isPhoneGapDevice()) {
Window.alert("detecting language");
phoneGap.getGlobalization().getLocaleName(new GlobalizationCallback<CLocale, GlobalizationError>() {
@Override
public void onSuccess(CLocale s) {
...
}
@Override
public void onFailure(GlobalizationError f) {
....
}
});
}
}
之後: phoneGap.initializePhoneGap();
我們的HTML:
<!doctype html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title></title>
<script type="text/javascript" language="javascript" src="js/cordova-2.4.0.js"></script>
<meta name="gwt:property" content="locale=en">
<script src="js/init.js"></script>
<script type="text/javascript" language="javascript" src="asdf.mobileclient/asdf.mobileclient.nocache.js"></script>
<script type="text/javascript">
document.addEventListener("deviceready", (function(){ PhoneGap.available = true;}), false);
</script>
</head>
<body>
<iframe src="javascript:''" id="__gwt_historyFrame" tabIndex='-1' style="position:absolute;width:0;height:0;border:0"></iframe>
</body>
</html>
以及App(config.xml文件)的配置設置以下插件:
<plugin name="Globalization" value="org.apache.cordova.Globalization"/>
在此先感謝。
onPhoneGapAvailable在哪裏觸發?deviceready回調沒有被調用? – gaepi
我認爲phoneGap.initializePhoneGap()會觸發它,我錯了嗎? –