2015-06-11 13 views
6

मैं एंड्रॉयड (4.4.2 - सैमसंग S3) पर मेनू बटन पर नजर रखने के कोशिश कर रहा हूँ नहीं कहा, लेकिन Ionic event (और न ही अंतर्निहित Cordova event) फायरिंग नहीं है:आयोनिक/Cordova menubutton घटना

$ionicPlatform.on("menubutton", function() { 
    // do our stuff here (never gets called) 
}); 

है कोई भी यह काम करने में सक्षम है? आयनिक मंच 1.0.0 चल रहा है, और अन्य सभी घटनाएं अपेक्षित रूप से फायरिंग कर रही हैं। नियंत्रक में फिर .run में ()

$ionicPlatform.ready(function() { 
//... 
    if (window.cordova) { 
     $cordovaSplashscreen.hide(); 
     document.addEventListener("menubutton", myApp.onHardwareMenuKeyDown, false); 
    } 
/... 

:

+0

आप अपने एचटीएमएल कोड के कुछ रूप में अच्छी तरह प्रदान कर सकता है? – QueryLars

+0

@QueryLars - प्रासंगिक HTML नहीं है - मेन्यूबटन घटना पर, हम कुछ जेएस निष्पादित करेंगे (टिप्पणी ब्लॉक के साथ ऊपर दर्शाए गए) –

+0

क्या आप यह सुनिश्चित करने के लिए जानते हैं कि यह बाध्यकारी काम करता है? क्या आप ब्लॉक को पोस्ट कर सकते हैं जहां आपके पास बाध्यकारी है? या आप अपने इनलाइन फ़ंक्शन को बाध्य करने के लिए लॉग स्टेटमेंट/अलर्ट डाल सकते हैं? – Alp

उत्तर

2

इस प्रयास करें

$scope.onHardwareMenuKeyDown = function() { 
    alert('menu button is working'); 
} 

कुछ करने के लिए एक और तरीका है:

angular.module('myApp', ['ngCordova', 'ionic', 'myApp.controllers']) 
    .run(function($ionicPlatform, $rootScope, $state, $localstorage,$ionicSideMenuDelegate) { 

    $ionicPlatform.ready(function() { 

     document.addEventListener("menubutton", onMenuKeyDown, false); 

     function onMenuKeyDown() { 
      console.log("some menu pops pup!! "); 
      // here change the view , etc... 
      $rootScope.$apply(); 
     } 

    }); 

}) 
+1

इस कोड को मेरे '.run() 'कोड में आजमाया, लेकिन फ़ंक्शन कभी ट्रिगर नहीं हुआ:' document.addEventListener ("menubutton", function() {console.log ("मेनू बटन);}, झूठा);' –

2

डॉक्स याद कर रहे हैं एक रेखा

document.addEventListener("deviceready", function() { 
    ... 
    navigator.app.overrideButton("menubutton", true); // <-- Add this line 
    document.addEventListener("menubutton", yourCallbackFunction, false); 
    ... 
}, false); 

https://issues.apache.org/jira/browse/CB-9949#comment-14989073