2016-04-28 29 views
-1

我想要创建一个app.if数据连接,然后显示吐司自动。否则不显示。 林创建了很多应用程序,但我不知道如何做到这一点。 我尝试这个,但不工作。当网络连接显示吐司自动

公共类MainActivity扩展活动{

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

你应该添加关于什么操作系统和它是什么代码的细节,并可能用它来标记你的问题,否则人们很难看到你的问题。 –

+0

布雷斯给我指出了方向。 Whare我过去的代码。 –

回答

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上,否则你会得到例外。 希望这有助于。随意问你是否有疑问