问题很难传达,实际情况将帮助您理解真正的问题。

在Android应用程序中。

我有很多Jquery Mobile Page附加到android Webview。

当我选择一个页面(例如)配置文件时,页面会正确打开,如果我按“后退”按钮,则应用程序将移至主页;如果再次选择配置文件并按回,则应用程序将进入登录页面。

如果我选择其他页面并选择配置文件,则不会发生。 此问题不仅与单个页面有关。 在所有页面中,我都有相同的问题。 有人可以指导我该怎么办吗?

按键事件的源代码,在此处输入代码

   @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK && webview.isEnabled()
            && !this.onLogin) {

        webview.loadUrl("javascript:handleDeviceBack()");
        return true;
    } else if (keyCode == KeyEvent.KEYCODE_BACK && this.onLogin) {
        moveTaskToBack(true);
    }
    if (keyCode == KeyEvent.KEYCODE_HOME) {
        webview.loadUrl("javascript:handleDeviceHome()");
        return true;
    }
    return false;
}

在我的网络视图中

enter code here
 handleDeviceBack = function(status) {
mHealth.util.logMessage('On device Back');
var historyBack = {
    "home" : "page",
    "loginPage" : "page",
    "welcomeMsg" : "page"
};
var moduleIndex = {
    "assessNotFound" : "../../home/view/home.html",
    "showActivity" : "../../home/view/home.html",
    "showMessage" : "../../home/view/home.html",
    "show_tracker" : "../../home/view/home.html",
    "settingsPage" : "../../home/view/home.html"
};
var graphPages = {
    "singlehealthdatapage" : "page",
    "multiplehealthdatapage" : "page"
};
var otherShortcuts = {
    "show_tracker_view" : "../../trackers/view/showtracker.html",
    "detailMessage" : "../../messages/view/showmessage.html",
    "alfrescoDIV" : "../../messages/view/showmessage.html"
};
// var exitAppCriteria={ "home" : "page","loginPage" : "page","welcomeMsg" :
// "page"};

if($('.ui-page-active').attr('id')=="condition_index")
    {
        $.mobile.changePage("../../home/view/history.html");
    }
else if (historyBack[$('.ui-page-active').attr('id')]
        || $('body').children().is('#tandcPage')) {
    Android.finishActivity();
} else if (moduleIndex[$('.ui-page-active').attr('id')]) {
    Android.highlightHome();
    $('.ui-alert-wallpaper').detach();
    $.mobile.changePage(moduleIndex[$('.ui-page-active').attr('id')]);

} else if (graphPages[$('.ui-page-active').attr('id')]) {
    Android.showTab();
    Android.pageHistory();
} else if (otherShortcuts[$('.ui-page-active').attr('id')]) {
    $.mobile.changePage(otherShortcuts[$('.ui-page-active').attr('id')]);
} else {

    $('.dw').detach();
    $('.dwo').detach();
    $('.dw').detach();
    $('.ui-alert-wallpaper').detach();
    Android.showTab();
    Android.pageHistory();
}

};

我发现问题出在Android.pageHistory();

enter code here
    public void pageHistory() {
    this.activity.runOnUiThread(new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            WebContainerActivity.webview.goBack();

        }
    });

}

第一次运行正常,但如果函数反复调用web view.go,则返回第一页。

#1楼 票数:1

在您的活动中覆盖像这样的backpressed方法

  @Override
    public void onBackPressed() {
      webview.loadUrl(sameurl);
        }

#2楼 票数:0 已采纳

通过其ID对URL进行硬编码,并暂时解决了该问题。

  ask by Jabeer translate from so

未解决问题?本站智能推荐:

4回复

android中的WebView后退按钮问题

我正在使用WebView在应用程序中显示url。当我单击设备中的后退按钮时,它会终止并关闭应用程序。 例如:我给链接为 w.loadUrl("http://www.google.com"); 在我正在搜索,它进入webview内的下一页。但是当我点击回来 按钮键,它关闭应用程
2回复

如何在 webview 中创建后退按钮?

该应用程序由两个活动组成:第一个 - 一个列表视图,带有来自资产的 HTML 文件的链接,第二个 - 一个包含此 HTML 文件的 web 视图。 所以这个 HTML 文件中有一些链接(在下文中我称它为第一个 HTML 文件),这些链接从资产中通向其他 HTML 文件。 在我跟随其中一个链接之后,
1回复

在WebView中启用后退按钮

我刚刚开始使用Android SDK。 我想用WebView创建一个只显示本地网页的简单应用程序。 我已经使用了我在网上找到的例子来制作它。 该应用程序工作得很好,直到我想添加一个后退按钮。 当按下电话后退按钮时,应用程序崩溃。 这是我的MainActivity.java
3回复

如何在webview中实现后退按钮?

我有一个简单的Web视图来显示一个论坛。我需要“映射”后退按钮才能返回该论坛的网页。 我以这种方式进行尝试,但出现致命错误 错误是onKeyDown行42。
1回复

WebView后退按钮注销用户

采取的步骤: 1.用户打开应用程序( 〜/ home /这是登录页面) 2.用户登录(现在,URL为〜/ home / profile / ) 3.用户单击链接(例如〜/ home / profile / photos / ) 4.用户单击返回(现在URL为〜/
2回复

webview后退按钮已停止

在我的webview应用程序中,如果我按“后退”按钮,则会出现错误: 不幸的是,应用程序已停止 我尝试了2种不同的方法来做后退按钮。 我想念什么吗? PS第一个应用程序,所以请忍受我
16回复

如果在 WebView 中按下后退按钮,如何返回上一页?

我有一个应用程序,其中有一个WebView ,可以在其中显示一些网站。 它有效,单击网页中的链接会转到我的应用程序内网站的下一页。 但是当我点击手机的后退按钮时,它会直接带我进入我的应用程序。 我想返回到网站的上一页。 我怎样才能做到这一点? 这是我正在使用的代码示例:
1回复

使用iframe的webview-“后退”按钮可在iframe中返回

我有一个android项目,仅显示网络视图。 我使用此功能通过设备的后退按钮转到上一页: 并且此功能可通过js在网络视图中返回上一页: 在这两个函数中,如果页面包含iframe,则iframe中的页面将返回,而不是父页面。 如何通过单击后退按钮使上级页面返回,而不使ifr