益之 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();
			}
		}