我想为移动版编写一个小的webview代码。
一切正常,但有时我无法打开链接。
我想shouldOverrideUrlLoading
上有一个错误。
我这样做“?mt = 1”来强制移动版本的网站。
感谢您的帮助。
祝愿Dominik
package com.webview.atmclassicparts;
import android.os.Bundle;
import android.app.Activity;
import android.view.KeyEvent;
import android.view.Menu;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
private WebView webView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
webView = new WebView(MainActivity.this);
setContentView(webView);
webView.getSettings().setJavaScriptEnabled(true);
webView.getSettings().setUserAgentString("Android 4.2.2");
webView.loadUrl("http://www.***.de/index.php?mt=1");
webView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
if(!url.toLowerCase().contains("http://www.***.de"))
{
String url2 = url + "?mt=1";
return true;
}
return false;
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// Prüfen, ob wirklich Zurück gedrückt wurde und ob vorher Seiten besucht wurden
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
webView.goBack();
return true;
}
// Wenn es nicht die Zurück-Taste war oder keine Seitenhistory verfügbar ist, wird die Default- Methode ausgeführt. Meist ist dass das Beenden der Aktivität
return super.onKeyDown(keyCode, event);
}
}
答案 0 :(得分:1)
您没有强制移动版本的网站,而是忽略了该网址。
webView.setWebViewClient(new WebViewClient(){
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
if(!url.toLowerCase().contains("http://www.***.de"))
{
String url2 = url + "?mt=1";
view.loadUrl(url2); // <<--- you were missing this
return true;
}
return false;
}
});