Android Webview onBackPressed句柄历史记录
我的应用程序正在使用WebView在网页之间导航。它包含注册表单页面、成功消息页面和登录表单页面。注册过程完成后,用户按下成功消息页面上的登录按钮后,应用程序将继续进入登录页面,如下图所示 当用户在登录表单上按back键时,我希望跳过导航返回到成功消息页面,直接返回到注册页面,有效地反转流程图并从中删除成功消息页面,如下面修改的流程图所示 下面是我到目前为止所写的内容,但是代码工作不正常,因为当用户从登录页面返回时,它仍然会导航到成功消息页面 对不起,我的英语不好Android Webview onBackPressed句柄历史记录,android,webview,Android,Webview,我的应用程序正在使用WebView在网页之间导航。它包含注册表单页面、成功消息页面和登录表单页面。注册过程完成后,用户按下成功消息页面上的登录按钮后,应用程序将继续进入登录页面,如下图所示 当用户在登录表单上按back键时,我希望跳过导航返回到成功消息页面,直接返回到注册页面,有效地反转流程图并从中删除成功消息页面,如下面修改的流程图所示 下面是我到目前为止所写的内容,但是代码工作不正常,因为当用户从登录页面返回时,它仍然会导航到成功消息页面 对不起,我的英语不好 HTML5WebView
HTML5WebView mWebView;
public void onBackPressed() {
if (mWebView.canGoBack()) {
mWebView.hideCustomView();
if(mWebView.getUrl().equals("Success message URL")){
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Are you sure you want to exit?")
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle("Test App")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
notificationManager.cancel(NOTIFICATION_EX);
android.os.Process.killProcess(android.os.Process.myPid());
mWebView.clearCache(true);
mWebView.clearHistory();
finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
}
}
else
{
mWebView.hideCustomView();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Are you sure you want to exit?")
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle("Test App")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
notificationManager.cancel(NOTIFICATION_EX);
android.os.Process.killProcess(android.os.Process.myPid());
// This above line close correctly
mWebView.clearCache(true);
mWebView.clearHistory();
finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
alert.show();
}
}
你是像ifmWebView.getUrl.equalsSuccess消息URL那样进行比较,还是用代码中的实际URL替换了字符串Success消息URL?我正在比较该URL..如果你不想,我可以把它放进去。我只是想确认你的比较是正确的。您是否调试并查看它是否进入if?是..但if语句未执行..我已将sysout.and logcat上没有out put..但当我回按..sysout mWebView.getUrl时,页面正在导航到SCAccess页面,在该if条件之前,查看其url是否正确?