2011-08-23 10 views
8

AndroidでPhonegapをセットアップしようとしましたが、devicereadyは起動しません。理由は、DeviceInfo.uuidは常にnull/undefinedです。AndroidのPhonegap 1.0.0でデバイスが起動しない

phonegapのjavascript以外の部分が正しく読み込まれていないようですが、正確にはわかりません。 wwwディレクトリ以外のすべてについては、私はphonegapのダウンロードのサンプルディレクトリに用意されているコードを使用しています。

誰でもこれを引き起こしている可能性がありますか?

<!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> 

答えて

31

他の誰かがこの問題を抱えている場合。

iPhoneとAndroidのバージョンでは、phonegap-1.0.0.jsが異なることに気付きませんでした。それは同じ名前ですが、内容は異なります。したがって、正しいファイルをロードする必要があります。私はこのように解決しました:

<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> 
+2

男!あなたは私の人生を救った。これは私を殺していた、私はただそれをやめただけだった。 –

+0

情報をありがとう、私はまたそれを認識しませんでした。しかし、私はビルドプロセスで何ができるのかを動的に決めることはできません。パフォーマンスが正しいバージョンでコンパイルする方がよいでしょう。 – ChrLipp

+0

聖なる牛!それは私の問題でした。ありがとうございました。 Phew ... – zaf

3

デバイスの準備ができたときに、いくつかの機能を実行したい場合は、この

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

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

ような何かを、あなたのコードが範囲外document.addEventListenerを置くworking.Tryされていない理由を私はわかりません関数の

+0

ありがとう、これは一般的に問題を解決することができます(私はそれをupvoted)!私の場合はリスナーがいましたが、iPhoneとAndroidのバージョンではphonegap-1.0.0.jsが違うことに気付きませんでした。同じファイルではありません。 – sandstrom

関連する問題