Integre sencha touch 2 en phonegap, no se puede activar el evento 'deviceready'

Esto parece ser otro problema que PhoneGap 0.9.6 (Blackberry) + Sencha Touch 1.1.0: deviceready no se activa está relacionado con iOS.

Entonces, no puedo hacer que ese evento se active; utilizando la última cordova (phonegap) 1.6.1.

¿Alguien ha integrado con éxito estos ST2 y PhoneGap?

Aquí está mi app.json:

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

Mi aplicación.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);
},

Mi controlador 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);
},

preguntado el 03 de mayo de 12 a las 12:05

He integrado con éxito versiones anteriores (PG 1.2, ST 1.1). ¿Funcionó su código en versiones anteriores de PhoneGap o se trata de un problema nuevo? ¿Qué sucede si prueba el detector de eventos PhoneGap por separado (solo muestra una alerta) del evento Sencha Touch (dispara el evento desde otro lugar)? -

Hola, no estoy seguro de entender; ¿Cómo puedo encender al oyente por separado? Puede dar un ejemplo ? Mi trabajo env. es ST2 PG 1.7.0 -

Me pregunto si puede reducir el alcance del problema. ¿Se muestra una alerta si usted: document.addEventListener("deviceready", function () { alert('deviceready'); } , true); -

Pido disculpas por la demora. Agregar su línea en index.html funciona bien, pero no en ningún otro lugar. -

1 Respuestas

Sencha Touch 2 escuchará ese evento y llamará a sus métodos onReady/launch; por lo tanto, si intenta escucharlos en el método de lanzamiento, ya se ha disparado.

Simplemente coloque su lógica dentro del método de inicio en su aplicación.

contestado el 05 de mayo de 12 a las 00:05

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.