当前位置: 代码迷 >> BlackBerry >> 混搭运用中 黑莓返回键的处理
  详细解决方案

混搭运用中 黑莓返回键的处理

热度:6434   发布时间:2013-02-26 00:00:00.0
混搭应用中 黑莓返回键的处理

难点1:

在混搭应用中,用户按黑莓返回键(BlackBerry back button),其用意不是要退出程序,而是要返回上一个html page。

解决办法:

Java代码中,在keyChar()方法中侦测黑莓键盘操作,如果按了黑莓返回键(Escape),那么就调用BrowserField字段里面网页的JavaScript 方法closeMyPage()

    protected boolean keyChar(char key, int status, int time) {    	boolean retVal = false;    	//alert("key pressed");    	if(key == Characters.ESCAPE){    		closePage();    		retVal = true; //返回true值表示这个enter键事件被处理过了,不再需要其他程序处理    	}    	return retVal;    }	public void closePage() {		String script="closeMyPage();";  		// run javascript from code		ScriptEngine se = browserField.getScriptEngine();		se.executeCompiledScript(se.compileScript(script), null);	}


难点2:

如果混搭应用中采用了JQuery Mobile,那么用户是要返回上一个JQuery page。

解决办法:JavaScript中根据page id使用JQuery Moibile进行页面的导航

<script type="text/javascript">	function closeMyPage()	{		mypage = $.mobile.activePage.attr('id');		if (mypage == 'mylocation') {		  $.mobile.changePage('#home');		}		return false;	}</script>



参考:

难点1的解决:黑莓上Java代码和JavaScript代码的相互驱动



  相关解决方案