Android,检查该URL存在后在WebView中打开URL

时间:2015-06-03 19:13:08

标签: android url webview

大家好我正在编写一些简单的代码,以便在Android设备上打开网页。一切都很好但是当我试图检查URL是否存在时,我总是得到URL不存在的相同错误。任何帮助将非常感激。非常感谢。

所以这是我的代码:

         public class MainActivity extends Activity
            {
       public static final String siteurl = "google.com";

       @Override
       public void onCreate(Bundle savedInstanceState)
        {
    final Context context = this;

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // Check Internet connectivity
    if (!exists(siteurl))
    {
        Toast.makeText(getApplicationContext(), "This site doesnt exist", Toast.LENGTH_LONG).show();
        TimedExit();
    }
    else
    {
        // Launch site
        startActivity(new Intent(context, WebViewActivity.class));
    }
        }

        public static boolean exists(String URLName)
        {
    try
    {
        HttpURLConnection.setFollowRedirects(false);
        // note : you may also need
        // HttpURLConnection.setInstanceFollowRedirects(false)
        HttpURLConnection con = (HttpURLConnection) new URL(URLName).openConnection();
        con.setRequestMethod("HEAD");
        return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
    }
    catch (Exception e)
    {
        e.printStackTrace();
        return false;
    }
         }

       public void TimedExit()
        {
    TimerTask exitApp = new TimerTask()
    {
        @Override
        public void run()
        {
            System.exit(0);
        }
    };
    Timer timer = new Timer();
    timer.schedule(exitApp, new Date(System.currentTimeMillis() + 7000));
        }
            }

我的webview活动:

    public class WebViewActivity extends Activity
      {

private WebView webView;

@Override
public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.webview);

    webView = (WebView) findViewById(R.id.webView1);
    webView.getSettings().setJavaScriptEnabled(true); // TODO: Check this warning
    webView.loadUrl(MainActivity.siteurl);
    webView.setWebViewClient(new WebViewClient());
}
    }

所以这里的问题是每次程序运行时都会返回URL不存在的情况。任何帮助将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:1)

如果您尝试从应用程序中获取Internet访问权限,则应在清单文件中添加适当的权限标记,最好在应用程序标记之前。

在这种情况下:

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

this帖子所示。

我知道已经晚了,我希望它有所帮助。