i overriding device button per documentation attach event listener backbutton argument of false after deviceready event.
i have done this:
// smart app object define([ 'routes', 'cordova', 'angular', 'angularroute', 'angularresource', 'angulartouch', 'config', 'controllers', 'services', 'directives', 'helpers' ], function(approute) { var oapp = { _app: {}, init: function() { console.log('init'); document.addeventlistener('deviceready', this.ondeviceready, false); }, ondeviceready: function() { console.log('ok device ready'); document.addeventlistener('backbutton', function() { console.error('deviceback start'); angular.element('.ng-scope').scope().back(); console.error('deviceback end'); }, false); // ... } // ... i have worked crazily figure out why hitting device button not triggering backbutton event attached, dont see console.error messages in console. testing on android right haven't tested on of other phone os'es yet.
the console.log('ok device ready') fire , app works properly, device backbutton overridden in default functionality not taking place, stated, function not taking place either.
i read other stackoverflow topcis , said cordova version landed fix, cordova version after theirs, .cordova/config.json file tells me:
{ "lib": { "www": { "id": "com.tigoenergy.smart", "version": "3.5.0" } } } it 3.5 , info.txt tells me 5.0.0:
node version: v0.10.25 cordova version: 5.0.0 config.xml file: <?xml version="1.0" encoding="utf-8"?> <!-- config.xml reference: https://build.phonegap.com/docs/config-xml --> <widget xmlns = "http://www.w3.org/ns/widgets" xmlns:gap = "http://phonegap.com/ns/1.0" does have ideas?
try using normal way of using cordova events.
// device apis available // function ondeviceready() { // register event listener document.addeventlistener("backbutton", onbackkeydown, false); } // handle button // function onbackkeydown() { //add button implementation. } official documentation here
modified code
<!doctype html> <html xmlns="http://www.w3.org/1999/html"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <title>tigo smart installation</title> <script type="text/javascript" src="apps/installation/js/jquery-2.1.1.min.js"></script> <script type="text/javascript" src="cordova.js"></script> <script type="text/javascript" src="apps/installation/js/index.js"></script> <script type="text/javascript" src="apps/installation/js/fastclick.min.js"></script> <script type="text/javascript" src="apps/installation/js/sha512.js"></script> <script type="text/javascript" src="bower_components/uri.js/src/uri.min.js"></script> <script type="text/javascript" src="js/extlogin.js"></script> <link rel="stylesheet" href="css/app.css"> <link rel="stylesheet" type="text/css" href="apps/installation/css/index.css" /> <script type="text/javascript" charset="utf-8"> $(document).ready(function(){ //mycode console.log('ok loaded'); document.addeventlistener("deviceready", ondeviceready, false); }); // wait device api libraries load // /*function onload() { console.warn('ok loaded') document.addeventlistener("deviceready", ondeviceready, false); } */ // device apis available // function ondeviceready() { // register event listener console.log('ok device ready'); document.addeventlistener("backbutton", onbackkeydown, false); } // handle button // function onbackkeydown() { console.log('ok backey downed'); } </script> </head> <body> <div ng-view></div> <script data-main="bin/smartapp" src="bower_components/requirejs/require.min.js"></script> <img style="opacity:0;visibility:hidden;" class="loader" src="img/loader.gif" /> </body> </html>
Comments
Post a Comment