0

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"/>

前もって感謝します。

4

3 に答える 3