

Android はハードウェアの戻るボタンとメニューボタンが備わっています。  
ホームボタンの右側にある漢字の "三" のようなメニューボタンです。  
このメニューボタンがクリックされたときの挙動を制御することは可能でしょうか。  
戻るボタンは下記サイトに記載がありました。

<http://ja.onsen.io/guide/overview.html#HandlingBackButton>

これと同じようなことをメニューボタンでも実現することは可能でしょうか？

何かご存知の方がおりましたらご教示ください。  
よろしくお願いします。


CC BY-SA 3.0
2016-03-10T00:22:21.843
22962
2016-04-12T05:45:36.343
2016-04-10T05:03:52.950
3054
14499
question
monaca cordova
MonacaでAndroidハードウェアのメニューボタンの押下を検出したい


Cordova(6.1.1
で確認)には[`menubutton`というイベント](https://cordova.apache.org/docs/en/latest/cordova/events/events.html#menubutton)があるのでこれを捕捉します。  

[code]

    navigator.app.overrideButton("menubutton", true);
    document.addEventListener("menubutton", function(){
        alert("Hello Menu!");
    }, false);
    
[/code]

`navigator.app.overrideButton`が必要なのですが、現在ドキュメントには`navigator.app`についての記載はありません。バグといってよいでしょう。

* * *

追記:  
古いCordovaだと[そもそもmenubuttonのイベントが発生しないというバグ](https://issues.apache.org/jira/browse/CB-9949)がありました。  
古いCordovaを使い続ける場合はあきらめるか、`CordovaWebViewImpl.java`と`CoreAndroid.java`を自分で直すしかないです。  
当該commit: <https://github.com/apache/cordova-
android/commit/b6a329d479e15cdf8a7a30a8fea9c5799c73841a>


CC BY-SA 3.0
2016-04-10T05:01:42.017
23887
2016-04-12T05:45:36.343
2016-04-12T05:45:36.343
3054
3054
22962
answer