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

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

2、再注册一个js事件,

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

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

    @Override
	public 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(){  监听内容 }

你可能感兴趣的:(sencha touch 添加类似phoneGap的android键盘监听事件)