2016-04-28 30 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上,否則你會得到例外。 希望這有助於。隨意問你是否有疑問