sencha touch 添加类似phoneGap的android键盘监听事件

来源:互联网 发布:切面编程 编辑:程序博客网 时间:2024/05/19 01:29

1、在phoneGap的android项目的主函数(继承 DroidGap那里)中添加键盘监听事件,android监听键盘必须在activity中

2、再注册一个js事件,

3、最后发送,在UI端使用document.addEventListener()实现监听

(备注,该好像方法必须有个输入框得到焦点才能触发)

    @Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {        String javaScriptEventTenplate="var e = document.createEvent(''Events'');\n"+    "e.initEvent(''{0}'');\n"+    "e.key = {1};\n"+    "document.dispatchEvent(e);";    String commad;    if (keyCode == KeyEvent.KEYCODE_F9 || keyCode == KeyEvent.KEYCODE_F10|| keyCode == KeyEvent.KEYCODE_F11) {commad = MessageFormat.format(javaScriptEventTenplate,"PRESS_SCAN","'down'");          //注册一个js事件appView.sendJavascript(commad);                                                        //发送事件if(isScan == true){barcodeControll.Barcode_StartScan();new BarcodeReadThread().start();}return true;}else if (keyCode == 82) {commad = MessageFormat.format(javaScriptEventTenplate,"press_menubutton","'down'");appView.sendJavascript(commad);return true;}
               else if (keyCode == 7) {                    this.loadUrl("javascript:cordova.fireDocumentEvent('press_0');");                    return true;                }return super.onKeyDown(keyCode, event);}


在UI端使用
document.addEventListener("PRESS_SCAN", down, false); 

function down(){  监听内容 }

0 0