有的。
先加入权限,然后获取网络状态。
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> ConnectivityManager connectivityMgr = (ConnectivityManager) getSystemService("connectivity");
NetworkInfo _networkInfo = connectivityMgr.getActiveNetworkInfo();
if (_networkInfo == null || !_networkInfo.isAvailable() || !_networkInfo.isConnected()) {  //没有网络的时候,或者其他判断。
               }

解决方案 »

  1.   


    int _type = _networkInfo.getType();
    switch (_type) {
    case ConnectivityManager.TYPE_WIFI:
    Log.i("","TYPE_WIFI");
    break;
    case ConnectivityManager.TYPE_MOBILE:
    Log.i("","TYPE_MOBILE");
    break;
    default:
    break;
      

  2.   

    public static boolean isNetworkConnected(Context context) {
    if (context != null) {
    ConnectivityManager mConnectivityManager = (ConnectivityManager) context
    .getSystemService(Context.CONNECTIVITY_SERVICE);
    NetworkInfo mNetworkInfo = mConnectivityManager
    .getActiveNetworkInfo();
    if (mNetworkInfo != null) {
    return mNetworkInfo.isAvailable();
    }
    }
    return false;
    }
      

  3.   

    有说要通过ping一个网址,有回复就算通,但感觉此种方法不太好有说通过ping一个网址(如百度),有回音就可以访问外网,但感觉这种方法不太好