устройство уже не будет работать в PhoneGap 1.0.0 на Android - PullRequest
8 голосов
/ 24 августа 2011

Я попытался настроить Phonegap на Android, и deviceready не сработает.Причина в том, что DeviceInfo.uuid всегда равно null / undefined.

Кажется, что не-javascript-части phonegap загружены неправильно, но я не могу точно увидеть, что именно.Для всего, что находится за пределами каталога www, я использую код, указанный в каталоге примеров загрузки телефонного промежутка.

Кто-нибудь знает, что может быть причиной этого?

<!DOCTYPE html>
<html>
  <head>
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">

      <script type="text/javascript" charset="utf-8" src="javascripts/phonegap-1.0.0.js"></script>
    <script src="http://debug.phonegap.com/target/target-script-min.js#something"></script>

    <script type="text/javascript" charset="utf-8">

    function onBodyLoad() {
      var initialize = function() {
        window.console.log("deviceready||resume");
      };
      document.addEventListener("deviceready", initialize);
      document.addEventListener("resume", initialize);
      window.console.log("onBodyLoad!");
    }

    </script>
  </head>
  <body onload="onBodyLoad()">
  <h1>Herro World</h1>
  </body>
</html>

Ответы [ 2 ]

31 голосов
/ 01 сентября 2011

В случае, если кто-то еще наткнется на эту проблему.

Я не осознавал, что phonegap-1.0.0.js отличается для версий для iPhone и Android. У него такое же имя, но содержание другое. Таким образом, необходимо загрузить правильный файл. Я решил это так:

<script type="text/javascript">
    // Atrocious way of loading two diffent phonegap scripts, but other loading methods won't work.
    // also there shouldn't be two scripts to begin with -- so much for cross-platform.
    var userAgent = navigator.userAgent.toLowerCase();
    if (userAgent.match(/android/)) {
    document.write("<script type='text/javascript' src='javascripts\/phonegap-android-1.0.0.js'><\/script>");
  } else {
    document.write("<script type='text/javascript' src='javascripts\/phonegap-iphone-1.0.0.js'><\/script>");
  }
</script>
3 голосов
/ 24 августа 2011

Если вы хотите, чтобы какая-то функция выполнялась, когда устройство готово, сделайте что-то вроде этого

document.addEventListener("deviceready", onDeviceReady, true);
// PhoneGap is now ready

function onDeviceReady() {
// Write your code here
}

Я не уверен, почему ваш код не работает. Попробуйте поместить document.addEventListener вне области действия функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...