GWT、phonegap 2.4、gwtphonegap 2.4 で phonegap アプリを開発しようとしています。現在、Android 4.2 に対してテストしています。ジオポジショニング機能を使用しており、ブラウザーとモバイルでは魅力的に機能しますが、システムのロケールを取得するためにグローバリゼーションを使用しようとすると機能しません。onPhneGapAvailable イベントは発生せず、getGlobalization を直接呼び出すと、未定義であると表示されます。
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>
アプリの構成 (config.xml) は、次のプラグインを設定します。
<plugin name="Globalization" value="org.apache.cordova.Globalization"/>
前もって感謝します。