Когда сетевое соединение включено, показать тост автоматически
Я хочу создать app.if подключение к данным, а затем показать тост автоматически. Иначе не показывать. Я создал много приложений, но я не знаю, как это сделать. Я пытаюсь это, но не работает.
открытый класс MainActivity расширяет Activity {
private WebView webView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
webView = (WebView) findViewById(R.id.wv);
if(CheckNetwork.isInternetAvailable(MainActivity.this))
{
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setAcceptCookie(true);
// webView = (WebView) findViewById(R.id.wv);
// webView.setWebViewClient(new MyWebViewClient());
webView.getSettings().setJavaScriptEnabled(true);
webView.setWebChromeClient(new WebChromeClient() {
public void onProgressChanged(WebView view, int progress) {
// Activities and WebViews measure progress with different scales.
// The progress meter will automatically disappear when we reach 100%
MainActivity.this.setProgress(progress * 1000);
}
});
webView.setWebViewClient(new WebViewClient() {
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
Toast.makeText(MainActivity.this, "Oh no! " + description, Toast.LENGTH_SHORT).show();
}
});
webView.loadUrl("http://slashdot.org/");
}
else{
//no connection
Toast toast = Toast.makeText(MainActivity.this, "No Internet Connection", Toast.LENGTH_LONG);
toast.show();
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
webView.goBack();
return true;
}
else
{
finish();
}
return super.onKeyDown(keyCode, event);
}
}
1 ответ
Вот код доступа к хостеру:
//===================== INTERNET CHECK===========
public boolean isConnectingToInternet(Context context) {
boolean connected = false;
ConnectivityManager CManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo NInfo = CManager.getActiveNetworkInfo();
if (NInfo != null && NInfo.isConnectedOrConnecting()) {
try {
if (InetAddress.getByName("www.rameshkhatri.com").isReachable(7000)) { // you change to your website name
// host reachable
connected = true;
} else {
connected = true;
// connected = false;
// host not reachable
}
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
return connected;
}
Но вы должны проверить подключение к Интернету в AsyncTask, потому что сетевой вызов не будет на UIThread, в противном случае вы получите исключение. Надеюсь это поможет. не стесняйтесь спрашивать, если у вас есть вопросы