Sencha Touch与PhoneGap,响应android返回按钮

益之 2012-11-11

使用Sencha Touch开发Html5应用时,在iPhone上还好,因为没有物理返回按钮,所以可以使用NavigationView的Back Button来实现Pop页面,

但是在Android手机上,用户习惯使用Android自带的物理Back Button,但是按下去之后,却是直接退出应用了,因为目前在系统中只有一个Webview Activity。这种情况该如何处理呢:

答案是:使用PhoneGap

闲话少叙,看例子:

// 处理一下android返回按钮
		document.addEventListener("deviceready", onDeviceReady, false);

		function onDeviceReady() {
			document.addEventListener("backbutton", onBackKeyDown, false);
		}

		function onBackKeyDown() {
			var canPop = false;
			var id = Ext.Viewport.getActiveItem().id;
			if (id.indexOf("login") != -1) {
			} else if (id.indexOf("mainview") != -1) {
				var mainview = Ext.Viewport.getActiveItem();
				var length = mainview.getItems().length;
				if (length > 2) {
					canPop = true;
				}
			}
			if (canPop) {
				console.log("canPop");
				AppName.app.getController("MainController").pop(1);
			} else {
				navigator.app.exitApp();
			}

		}
 

相关推荐