Когда сетевое соединение включено, показать тост автоматически

Я хочу создать 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, в противном случае вы получите исключение. Надеюсь это поможет. не стесняйтесь спрашивать, если у вас есть вопросы

Другие вопросы по тегам