安卓端中 如何接收遙控器輸入,網上看到很多人使用 plus.key.addEventListener( keyevent, listener, capture ); 但說只能接收幾個按鍵,我測試的時候直接接收不到。后面看到另外一篇文章受到啟發,可以使用h5中的onkeydown事件監聽。寫了個示例,經測試達到了我想要的效果,遙控器上的大部分按鈕可以監聽到,有幾個也監聽不到,比如返回、音量鍵。其余大部分是可以的,記錄一下留個筆記。
主要使用到了
renderjs,官方文檔請看這里 https://uniapp.dcloud.io/frame?id=renderjs
測試代碼如下:
1 <template> 2 <view> 3 <label style="margin: 20px; display: block;">-{{text}}-</label> 4 <view @click="whole.onClick" id="onClick"></view> 5 </view> 6 </template> 7 8 9 <script> 10 export default { 11 data() { 12 return { 13 text: 'text' 14 } 15 }, 16 methods:{ 17 keyCodeClick(keyCode) { 18 this.text = keyCode; 19 } 20 } 21 } 22 </script> 23 24 <script module="whole" lang="renderjs"> 25 let keyCode; 26 export default { 27 mounted() { 28 //全局監聽按鍵輸入 29 window.document.onkeydown = function(evt) { 30 evt = evt || window.event; 31 keyCode = evt.which || evt.keyCode; 32 document.getElementById("onClick").click(); 33 } 34 }, 35 methods: { 36 onClick(event, ownerInstance, c) { 37 // 調用 service 層的方法 38 ownerInstance.callMethod('keyCodeClick', keyCode); 39 } 40 41 } 42 } 43 </script>