如何检查蜂窝网络可用性



我想检查一下我的蜂窝应用程序上是否有一个简单的连接。我尝试了两个不同版本的功能:

    public boolean networkAvailable() {
     ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
     return cm.getActiveNetworkInfo().isConnectedOrConnecting();
    }

    private boolean networkAvailable(){
    ConnectivityManager connectionManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo activeNetwork = connectionManager.getActiveNetworkInfo();
    return activeNetwork != null;
}

这两个都不能在我的蜂窝平板电脑上使用,当我试图调用它们时,它们会崩溃。有没有一种特殊的方法来做到这一点在3.2或…我错过了什么?

应该可以。您甚至可以区分可用的网络类型。请确保您具有在清单中声明的以下权限。

<uses-permission android:name="android.permission.INTERNET"></uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission>


public void checkkStatus()
 {
 final ConnectivityManager connMgr = (ConnectivityManager)
 this.getSystemService(Context.CONNECTIVITY_SERVICE);
 final android.net.NetworkInfo wifi =
 connMgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
 final android.net.NetworkInfo mobile =
 connMgr.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
 if( wifi.isAvailable() ){
 Toast.makeText(this, "Wifi" , Toast.LENGTH_LONG).show();
 }
 else if( mobile.isAvailable() ){
 Toast.makeText(this, "Mobile 3G " , Toast.LENGTH_LONG).show();
 }
 else
 {Toast.makeText(this, "No Network " , Toast.LENGTH_LONG).show();}
 }

Try This:

   public boolean isOnline() {
         ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
         return cm.getActiveNetworkInfo().isConnectedOrConnecting();
   }

最新更新