Android,在检查URL是否存在后,在WebView中打开URL
大家好,我正在写一些简单的代码,以便在android设备上打开网页。一切都很好,但当我试图检查URL是否存在时,我总是得到与URL不存在相同的错误。任何帮助都将不胜感激。非常感谢 这是我的代码:Android,在检查URL是否存在后,在WebView中打开URL,android,url,webview,Android,Url,Webview,大家好,我正在写一些简单的代码,以便在android设备上打开网页。一切都很好,但当我试图检查URL是否存在时,我总是得到与URL不存在相同的错误。任何帮助都将不胜感激。非常感谢 这是我的代码: public class MainActivity extends Activity { public static final String siteurl = "google.com"; @Override pub
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));
}
}
以及我的webviewactivity:
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不存在的结果。任何帮助都将不胜感激。谢谢。如果您试图从应用程序中访问互联网,您应该在清单文件中添加适当的权限标记,最好在应用程序标记之前 在这种情况下:
<uses-permission android:name="android.permission.INTERNET" />
如图所示
我知道很晚了,希望能有帮助