Класс глобализации Phonegap 2.3.0 не найден в приложении BB10 Webworks

Я разрабатываю приложение Phonegap 2.3 для BlackBerry 10 с WebWorks и Sencha Touch 2.2. Когда я пытаюсь вызвать метод getPreferredLanguage() в соответствии с документами:

navigator.globalization.getPreferredLanguage(
  function (language) {alert('language: ' + language.value + '\n');},
  function () {alert('Error getting language\n');}
);

Я получаю следующую ошибку:

Error: Status=2 Message=Class Globalization cannot be found

В документах указано, что класс Globalization поддерживается на BlackBerry с OS5 и выше, так почему же я получаю сообщения об ошибках class not found?


person M Azam    schedule 28.05.2013    source источник


Ответы (2)


В вашем файле config.xml измените

от

<feature name="Geolocation">
  <param name="android-package" value="org.apache.cordova.Globalization" />  
</feature>

to

<feature name="Geolocation">
  <param name="android-package" value="org.apache.cordova.globalization.Globalization" />  
</feature>
person Thiago Mata    schedule 20.03.2014

Попробуйте проверить, было ли запущено событие «готовность устройства» или нет:

$(document).ready(function() {  
  document.addEventListener("deviceready", onDeviceReady, false); 
});

function onDeviceReady() {
  alert('device ready');
  navigator.globalization.getPreferredLanguage(
    function (language) {alert('language: ' + language.value + '\n');},
    function () {alert('Error getting language\n');}
  );
}
person Sergio Morstabilini    schedule 28.05.2013
comment
Это не так, потому что даже после полной инициализации приложения запуск кода из консоли, о котором я упоминал выше, по-прежнему возвращает сообщение об ошибке: Error: Status=2 Message=Class Globalization cannot be found - person M Azam; 29.05.2013
comment
В консоли я получаю аналогичную ошибку, если пытаюсь распечатать «navigator.globalization», и, несмотря на это, мое приложение работает нормально. Извините, я не мог больше помочь. - person Sergio Morstabilini; 30.05.2013