Android WebView加载所有网址,但不仅仅是我的网址

时间:2015-03-20 06:23:48

标签: android android-webview

我正在尝试在Android网页视图中加载我的网站,每当我将网址设置为google.com或任何其他加载没有任何问题,但当我尝试加载我的网站darpankulkarni.in然后它只显示空白屏幕。< / p>

WebViewActivity:

public class WebViewActivity extends Activity {

private WebView webView;

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

    webView = (WebView) findViewById(R.id.webView);

    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN)
    {

        webView.getSettings().setAllowFileAccess(true);
        webView.getSettings().setAllowContentAccess(true);
        webView.getSettings().setAllowFileAccessFromFileURLs(true);
        webView.getSettings().setAllowUniversalAccessFromFileURLs(true);

    }

    webView.getSettings().setJavaScriptEnabled(true);
    webView.loadUrl("http://www.darpankulkarni.in");
    //webView.loadUrl("http://www.google.com");
    webView.setWebViewClient(new MyWebViewClient());
}
}

MyWebViewClient:

class MyWebViewClient extends WebViewClient {
@Override

// show the web page in webview but not in web browser
public boolean shouldOverrideUrlLoading(WebView view, String url) {
    view.loadUrl(url);
    return true;
}

@Override
public void onPageFinished(WebView view, String url) {
    super.onPageFinished(view, url);
    //webProg.setVisibility(View.GONE);
}

@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
    super.onPageStarted(view, url, favicon);
}

@Override
public void onLoadResource(WebView view, String url) {
    super.onLoadResource(view, url);
}

}

1 个答案:

答案 0 :(得分:0)

通过将设置下面的代码添加到onCreate

内的Web视图来修复它
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN)
{

    websettings.setAllowFileAccess(true);
    websettings.setAllowContentAccess(true);
    websettings.setAllowFileAccessFromFileURLs(true);
    websettings.setAllowUniversalAccessFromFileURLs(true);

}

将基本设置应用于Web视图,以便在视口中加载Web视图

    mWebView.getSettings().setLoadWithOverviewMode(true);
    mWebView.getSettings().setUseWideViewPort(true); 

所以这是完整的工作代码

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

    mWebView=(WebView)findViewById(R.id.webView1);

    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN)
    {
        mWebView.getSettings().setAllowFileAccess(true);
        mWebView.getSettings().setAllowContentAccess(true);
        mWebView.getSettings().setAllowFileAccessFromFileURLs(true);
        mWebView.getSettings().setAllowUniversalAccessFromFileURLs(true);
    }

    mWebView.getSettings().setLoadWithOverviewMode(true);
    mWebView.getSettings().setUseWideViewPort(true);

ProgressDialog  progressDialog = new ProgressDialog(MainActivity.this);

    mWebView.setWebViewClient(new WebViewClient() {
        public boolean shouldOverrideUrlLoading(WebView view, String url)    {              
            view.loadUrl(url);
            return true;
        }
        public void onLoadResource (WebView view, String url) {

            progressDialog.setMessage("Loading the Web View");
            progressDialog.show();

        }
        public void onPageFinished(WebView view, String url) {
            if (progressDialog.isShowing()) {
                progressDialog.dismiss();
            }
        }
    }); 

    mWebView.getSettings().setJavaScriptEnabled(true);
    mWebView.loadUrl("http://www.darpankulkarni.in");
    //  mWebView.loadUrl("http://www.google.com");
    //  mWebView.setWebViewClient(new MyWebViewClient());

}

不要忘记在您的清单中提供互联网许可

   <uses-permission android:name="android.permission.INTERNET" />

我创建了一个用于加载Web视图的进度对话框,因为它需要一些时间来加载。

希望这个vll有帮助!!