Установка @Override
для isNetworkAvailable()
означает, что вы пытаетесь переопределить метод с WebViewClient
. Но нет способа isNetworkAvailale()
в WebViewClient
. Вот почему вы получаете ошибку.
Удалите @Override
, который сверху isNetworkAvailable()
, следующим образом:
myWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
public boolean isNetworkAvailable() {
ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = cm.getActiveNetworkInfo();
if (networkInfo != null && networkInfo.isConnected()) {
return true;
}
return false;
}
});
Не забудьте добавить
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
в вашем AndroidManifest.xml
Кстати, не стоит помещать isNetworkAvailable()
внутрь WebViewClient
. Либо поместите его непосредственно под MainActivity
, либо создайте другой класс (скажем, DeviceUtil
). Если вы создадите новый класс DeviceUtil
, этот код можно будет повторно использовать в различных действиях.