[Phonegap+Sencha Touch] 移动开发31 使phonegap的inappbrowser插件支持通过手机返回键进行历史记录后退

最新的InAppBrowser插件已经有这个功能了。


inappbrowser插件,顾名思义,就是应用内置浏览器。使用inappbrowser插件的时候,默认手机返回键按下,是退出内置浏览器,而不是历史记录的回退。

解决方法:改两个地方

1、org.apache.cordova.inappbrowser\src\android\InAppBrowserDialog.java

找到onBackPressed方法,改为下面的

<span style="font-family:Microsoft YaHei;">    public void onBackPressed () {
        if (this.inAppBrowser == null) {
            this.dismiss();
        } else {
            // better to go through the in inAppBrowser
            // because it does a clean up
            if (this.inAppBrowser.canGoBack()) {
			this.inAppBrowser.goBack();
		}  else {
			this.inAppBrowser.closeDialog();
		}
        }
    }</span>

2、org.apache.cordova.inappbrowser\src\android\InAppBrowser.java

找到goBack方法,把private改为public

<span style="font-family:Microsoft YaHei;">public void goBack() {
     if (this.inAppWebView.canGoBack()) {
         this.inAppWebView.goBack();
     }
}</span>
然后添加一个方法

<span style="font-family:Microsoft YaHei;">public boolean canGoBack() {
	return this.inAppWebView.canGoBack();
}</span>





欢迎加入Sencha Touch + Phonegap 群:194182999

共同学习交流(博主QQ:479858761)

你可能感兴趣的:(android,移动开发,Cordova,PhoneGap)