now.js + phonegap, работает в браузере Android, кто-нибудь сталкивался?

Я могу использовать чат NowJS при доступе к файлу с помощью браузера Android, но когда тот же код выполняется в телефонном разговоре, сообщения не принимаются и не отправляются.

Кто-нибудь смог успешно использовать nowJS или сокеты с phonegap/cordova?

Код работает в веб-браузерах, FF, Chrome и собственном браузере Android, но не в телефонной связи.

$(document).ready(function(){
        now.receiveMessage = function(id, name, message, timestamp){
            $("#messages").append("<br>" + id + ' ' + name + ": " + message + ' ' + timestamp);
        };

        // Send message to people in the same group
        $("#send-button").click(function(){
            now.distributeMessage(room, $("#text-input").val());
            $("#text-input").val("");
        });

        now.name = 'Guest '+Math.floor(Math.random() * 1000 % 5 + 2);

        // on establishing 'now' connection, set server room and allow message sending
        now.ready(function(){
        room = location.hash.replace('#', '');

            if (!room) {
            alert("Please specify a room");
            throw "";
            }

            now.changeRoom(room);

            // Connection established and room set; allow user to start sending messages
            $("#send-button").removeAttr('disabled');
        });
    });

person Moak    schedule 11.07.2012    source источник


Ответы (1)


Возможно, резервный механизм в Now.js не работает в WebView при работе в PhoneGap. Если они используют Flash Fallback, вам необходимо включить плагины. Похоже, очень скоро это будет включено по умолчанию: https://github.com/apache/incubator-cordova-android/pull/18

Недавно я создал стартовый проект Pusher для PhoneGap на Android, и вместо того, чтобы включать плагины и полагаться на Flash, я предоставил объект WebSocket, работающий на Java, для среды выполнения WebView JavaScript. Мне очень нравится этот подход, так как он полностью устраняет проблему Flash. Может быть, это то, что вы могли бы сделать в своем приложении для Android?

Вы можете увидеть начальный проект, который включает в себя весь необходимый код для предоставления объекта WebSocket среде выполнения WebView JS здесь (просто замените включение pusher.min.js на включение now.js):

И информация о поддержке PhoneGap WebSocket Android через README: https://github.com/pusher/pusher-phonegap-android#native-websocket-support

person leggetter    schedule 11.07.2012