2012-05-03 6 views
1

これはiOSに関連する問題です。PhoneGap 0.9.6 (Blackberry) + Sencha Touch 1.1.0: deviceready does not fireです。電話帳にsencha touch 2を統合すると、「deviceready」イベントを起動できません。

だから、私はその出来事を起こすことができません。最新のコードバ(phonegap)を使用して1.6.1。

これらのST2とPhoneGapの統合に成功した人はいますか?ここで

は私のapp.jsonです:

"js": [ 
    { 
     "path": "resources/js/cordova-1.6.1.js", 
     "update": "delta" 
    }, 
    { 
     "path": "sdk/sencha-touch.js" 
    }, 
    { 
     "path": "app.js", 
     "update": "delta" 
    }, 
], 

マイapp.js:

launch: function() { 
    // Destroy the #appLoadingIndicator element 
    Ext.fly('appLoadingIndicator').destroy(); 
    var mainPanel = Ext.Viewport.add({ 
     xclass: 'Sencha.view.Main' 
    }); 

    // load phonegap stuff 
    document.addEventListener("deviceready", function() { 
     mainPanel.fireEvent("deviceready"); 
    } , true); 
}, 

マイMain.jsコントローラ:

Ext.define('Sencha.controller.Main', { 
    extend: 'Ext.app.Controller', 

config: { 
    refs: { 
     mainPanel: 'mainpanel', 
    }, 
    control: { 
     mainpanel: { 
      deviceready: 'onDeviceReady' 
     }, 
    }, 
}, 
onDeviceReady: function() { 
    var states = {}; 
    states[Connection.UNKNOWN] = 'Unknown connection'; 
    states[Connection.ETHERNET] = 'Ethernet connection'; 
    states[Connection.WIFI]  = 'WiFi connection'; 
    states[Connection.CELL_2G] = 'Cell 2G connection'; 
    states[Connection.CELL_3G] = 'Cell 3G connection'; 
    states[Connection.CELL_4G] = 'Cell 4G connection'; 
    states[Connection.NONE]  = 'No network connection'; 
    Ext.Msg.alert('Connection type', states[networkState], Ext.emptyFn); 
    navigator.notification.beep(2); 
}, 
+0

旧バージョン(PG 1.2、ST 1.1)は正常に統合されました。以前のPhoneGapバージョンでコードが動作しましたか、これは新しい問題ですか? Sencha Touchイベント(別の場所からイベントを発します)からPhoneGapイベントリスナを個別に(アラートを表示するだけで)テストするとどうなりますか? – Will

+0

こんにちは、分かりません。リスナーを別に起動するにはどうしたらいいですか?あなたは例を挙げることができますか?私の仕事場ST2 PG 1.7.0 – Disco

+1

問題の範囲を絞り込むことができるのだろうかと思います。あなたがしている場合は、警告が表示されます: 'document.addEventListener(" deviceready "、function(){alert( 'deviceready');}); ' – Will

答えて

4

煎茶タッチ2は、そのイベントに耳を傾けるだろうあなたのonReady/launchメソッドを呼び出します。したがって、起動メソッドでそれらを聞くと、すでに起動されています。

ロジックをアプリケーションの起動メソッドの中に入れてください。

+0

それは働いた;私はなぜそれが外に実行することはできません理解していない... – Disco

関連する問題