這似乎是與iOS相關的PhoneGap 0.9.6 (Blackberry) + Sencha Touch 1.1.0: deviceready does not fire之外的另一個問題。將sencha touch 2集成到phonegap中,無法獲取'deviceready'事件觸發
所以,我不能讓那個事件發生;使用最新的cordova(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);
},
我已經成功集成了舊版本(PG 1.2,ST 1.1)。您的代碼是否在以前的PhoneGap版本中工作,或者這是一個新問題?如果您從Sencha Touch事件中分別測試PhoneGap事件偵聽器(僅顯示警報)(從其他地方觸發事件),會發生什麼情況? – Will
嗨,不知道明白;我怎樣才能讓聽衆分開;你能給個例子嗎 ?我的工作環境。是ST2 PG 1.7.0 – Disco
我想知道你是否可以縮小問題的範圍。如果你這樣做,會顯示一個警告:'document.addEventListener(「deviceready」,function(){alert('deviceready');},true);' – Will