Android:无法在webView中加载特定网站

时间:2014-03-10 10:18:44

标签: android webview

WebView会打开除此之外的任何网站。

http://www.ynet.co.il/home/0,7340,L-8,00.html

编辑:检查DDMS后,我得到了一个JavaBinder异常!!!失败的粘合剂交易!!!

我的网页浏览活动的代码:

public class WebActivity extends Activity {
WebView wv;
final Activity activity = this;
@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState); 
    this.getWindow().requestFeature(Window.FEATURE_PROGRESS);
    setProgressBarIndeterminateVisibility(true);
    setContentView(R.layout.activity_web);
    wv = (WebView)findViewById(R.id.webView1);
    Intent intent = getIntent();
    final String url = intent.getStringExtra("url");
    Log.i("webView", url);
    wv.getSettings().setJavaScriptEnabled(true);
    wv.getSettings().setBuiltInZoomControls(true);
    wv.getSettings().setLoadWithOverviewMode(true);  
    wv.getSettings().setUseWideViewPort(true);  
    wv.setWebChromeClient(new WebChromeClient() {
        public void onProgressChanged(WebView view, int progress)
        {
            activity.setTitle("Loading...");
            activity.setProgress(progress * 100);

            if(progress == 100)
                activity.setTitle(R.string.app_name);
        }
    });
    wv.setWebViewClient(new WebViewClient() {
        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url)
        {
            view.loadUrl(url);
            return true;
        }
    });

    wv.loadUrl(url);
}

有什么想法吗?

3 个答案:

答案 0 :(得分:2)

我认为您的网站正在将网址转换为http://m.ynet.co.il/Main.aspx this URL

Your Url

如果不是强制性的话,请删除此代码。

wv.setWebChromeClient(new WebChromeClient() {
    public void onProgressChanged(WebView view, int progress)
    {
        activity.setTitle("Loading...");
        activity.setProgress(progress * 100);

        if(progress == 100)
            activity.setTitle(R.string.app_name);
    }
});
wv.setWebViewClient(new WebViewClient() {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url)
    {
        view.loadUrl(url);
        return true;
    }
});

我的代码是

WebView wv;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    wv = (WebView)findViewById(R.id.webView1);
    wv.getSettings().setJavaScriptEnabled(true);
    wv.getSettings().setBuiltInZoomControls(true);
    wv.getSettings().setLoadWithOverviewMode(true);  
    wv.getSettings().setUseWideViewPort(true); 
    wv.loadUrl("http://www.ynet.co.il/home/0,7340,L-8,00.html");
}

尝试直接使用

答案 1 :(得分:0)

请在loadUrl的实施中移除对shouldOverrideUrlLoading的来电;它没有必要,并且实际上在加载已经进行时创建了一个循环。您只需return tue即可确保导航保留在WebView中。

答案 2 :(得分:0)

事实证明,在此特定网站上使用shouldOverrideUrlLoading方法(如下)时出现问题。

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
    view.loadUrl(url);
    return true;
}

删除后一切都很好......

相关问题