Используйте плагин Cordova в приложении ionic 3 (Cordova-androidwear) - PullRequest
0 голосов
/ 30 января 2019

У меня есть приложение ionic 3, которое показывало маркеры на карте.Но теперь у меня есть новый запрос на приложение для портирования его на пригодные для использования устройства (Android Wear и Apple Watch).Показать маркеры на карте на часах и некоторую информацию ...

После долгих поисков и вопросов на форумах у меня есть плагин для Android and Wear https://github.com/tgardner/cordova-androidwear, но это плагин Cordova,Код в Cordova:

            function watch(handle) {
                var self = this;
                AndroidWear.onDataReceived(handle, function(e) {
                    self.dataReceived(e.data);
                });

                self.handle = handle;
            }

            watch.prototype = {
                dataReceived: function(data) {
                    app.logEvent("AndroidWear message received: " + data);
                },

                sendMessage: function(message) {
                    AndroidWear.sendData(this.handle, message);
                    app.logEvent("AndroidWear message sent!");
                }
            };

            var app = {
                watch: null,

                initialize: function() {
                    this.bindEvents();
                },

                bindEvents: function() {
                    var self = this;
                    document.addEventListener('deviceready', function() {
                        self.onDeviceReady();
                    }, false);
                },

                onDeviceReady: function() {
                    var self = this;
                    self.receivedEvent('deviceready');

                    if(AndroidWear) {
                        AndroidWear.onConnect(function(e) {
                            self.logEvent("AndroidWear connection established");
                            self.watch = new watch(e.handle);
                        });
                    }

                    var sendButton = document.getElementById("sendMessage");
                    sendButton.addEventListener("click", function() {
                        if(self.watch) {
                            self.watch.sendMessage("Mensaje");
                        }
                    });
                },
                receivedEvent: function(id) {
                    var parentElement = document.getElementById(id);
                    var listeningElement = parentElement.querySelector('.listening');
                    var receivedElement = parentElement.querySelector('.received');

                    listeningElement.setAttribute('style', 'display:none;');
                    receivedElement.setAttribute('style', 'display:block;');

                    this.logEvent('Received Event: ' + id);
                },

                logEvent: function(message) {
                    var events = document.getElementById("events");
                    var el = document.createElement("li");

                    el.innerHTML = message;
                    events.appendChild(el);
                }
            };

Но мне нужно перевести код Cordova на ионный код.Я пытаюсь это сделать:

    (<any>window).AndroidWear.onConnect(() =>{
      console.log("Androidwear : CONECTADO " );
    })

    (<any>window).AndroidWear.onDataReceived((data) =>{
      console.log("Plugin: " + data);
    })

Но я получил ошибку выполнения, подобную этой [INFO: CONSOLE (13355)] "Не установлен root root: TypeError: window.AndroidWear.onConnect (...) isне функция ", источник: file: ///android_asset/www/build/main.js (13355)

Я никогда не переводил код Cordova в ionic 3, так что, возможно, у меня были глупые ошибки.

Как мне перевести этот код для использования плагина Android-Wear в приложении ionic 3?

Спасибо.

...