我的应用正在使用WebView在网页之间导航。它包含注册表单页面,成功消息页面和登录表单页面。在用户按下成功消息页面上的登录按钮后,应用程序将在注册过程完成后继续登录页面,如下面的流程图所示。
当用户在登录表单上按下时,我想跳过导航回到成功消息页面,直接返回注册页面,有效地反转流程图并删除成功消息页面从中,如下面的修改流程图所示。
以下是我到目前为止所写的内容,但代码无法正常工作,因为当用户从登录页面进行回退时,它仍会导航到成功消息页面。
抱歉我的英语不好。
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();
}
}