我正在开发一个 WebView android 应用程序。我无法修复应用程序中的向后导航问题。我正在使用这段代码并尝试对此进行所有修改。
public class DeviceActivity extends Activity {
private WebView web;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
web = (WebView) findViewById(R.id.webView);
web.getSettings().setJavaScriptEnabled(true);
web.getSettings().setJavaScriptCanOpenWindowsAutomatically(false);
web.getSettings().setPluginsEnabled(false);
web.getSettings().setSupportMultipleWindows(false);
web.getSettings().setSupportZoom(false);
web.setVerticalScrollBarEnabled(false);
web.setHorizontalScrollBarEnabled(false);
// Our application's main page will be loaded
web.loadUrl("file:///android_asset/fbp/index.html");
web.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
public void onBackPressed() {
if (web.canGoBack()) {
web.goBack();
} else {
// My exit alert code goes here.
}
}
});
}
}
这不会导航回来,而是退出应用程序。
任何帮助,将不胜感激。
将其添加到您的Activity
代码(不在onCreate()
或嵌套在其他地方)
@Override
public void onBackPressed() {
if (web.copyBackForwardList().getCurrentIndex() > 0) {
web.goBack();
}
else {
// Your exit alert code, or alternatively line below to finish
super.onBackPressed(); // finishes activity
}
}
这将导航回来WebView
历史堆栈直到其为空,然后执行默认操作(在本例中它完成活动)。
您可能还应该将 WebViewClient 设置为shouldOverrideUrlLoading
return true
否则您将不会加载任何链接。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)