1) Создайте DetectConnection.java Class , чтобы проверить доступность интернета или нет.
import android.content.Context;
import android.net.ConnectivityManager;
public class DetectConnection {
public static boolean checkInternetConnection(Context context) {
ConnectivityManager con_manager = (ConnectivityManager)
context.getSystemService(Context.CONNECTIVITY_SERVICE);
return (con_manager.getActiveNetworkInfo() != null
&& con_manager.getActiveNetworkInfo().isAvailable()
&& con_manager.getActiveNetworkInfo().isConnected());
}
}
2) Измените код метода onCreate, перед загрузкой проверьте, доступен ли Интернет,
wv = (WebView) findViewById(R.id.wv);
CustomWebViewClient c = new CustomWebViewClient();
wv.setWebViewClient(c);
wv.clearCache(true);
wv.clearHistory();
wv.getSettings().setJavaScriptEnabled(true);
wv.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
wv.getSettings().setBuiltInZoomControls(true);
if (!DetectConnection.checkInternetConnection(this)) {
wv.loadUrl("file:///android_asset/error.html"); //Change path if it is not correct
} else {
wv.loadUrl("http://www.google.com");
}
3) Измените код CustomWebViewClient. Это класс, где вы можете получить обратный вызов для каждого URL. В этом обратном вызове, когда страница загружается, вы можете проверить это.
// Function to load all URLs in same webview
private class CustomWebViewClient extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url.contains("//MyURL//")) {
view.loadUrl(url);
} else {
Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(i);
}
return true;
}
@Override
public void onLoadResource(WebView view, String url){
if (!DetectConnection.checkInternetConnection(MainActivity.this)) {
wv.loadUrl("file:///android_asset/error.html"); //Change path if it is not correct
}
}
}
4) Добавить разрешение ACCESS_NETWORK_STATE в AndroidMenifest.xml.
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Я не слушаю его (или никакие подкасты SQL в этом отношении), но я знаю о SQL Greg Low Вниз Под, и я полагаю, что это имеет довольно хорошую репутацию.
Превосходный вопрос, я всегда в поисках хорошего contet.
Существуют некоторые хорошие подкасты подобными Brent Ozar и приятелям, законченным в SQL Server Pedia.
http://sqlserverpedia.com/wiki/SQL_Server_Tutorials
С наилучшими пожеланиями, John