2012-07-31 132 views
0

我创建了一个android应用程序,用户Http Post和Get调用来从Web服务器读取和写入数据。也没有太华丽。我的手机/ SIM卡有4G。每次应用程序尝试连接时,事情都会变得缓慢,大多数时候应用程序崩溃。所以我只将设置更改为GSM。你猜怎么了?该应用程序效果更好。可能的原因是什么?Android应用程序在4G互联网连接上崩溃,但在GSM模式下工作正常只有

+0

你能至少张贴崩溃这里的日志/堆栈跟踪?我们如何知道你的应用程序没有任何知识? – YuDroid 2012-07-31 06:03:00

+0

问题发生在客户端的手机:(这就是为什么我不得不发布一个非常模糊的问题,我正在使用wifi连接,它的工作原理是完美的 – SoH 2012-07-31 06:05:46

+0

你给你的应用程序的连接优先级?可用性,即选择第一个WIFI,然后是SIM卡连接,无论它们是3G/4G等等。 – YuDroid 2012-07-31 06:37:42

回答

0

使用下面的方法,以检测所有可用类型的网络中的客户端的处理:

public static boolean checkNetworkRechability(Context context) { 
     Boolean bNetwork = false; 
     ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); 

     for (NetworkInfo networkInfo : connectivityManager.getAllNetworkInfo()) { 
      int netType = networkInfo.getType(); 
      int netSubType = networkInfo.getSubtype(); 

      if (netType == ConnectivityManager.TYPE_WIFI) { 
       bNetwork = networkInfo.isConnected(); 
       if (bNetwork == true) 
        break; 
      } else if (netType == ConnectivityManager.TYPE_MOBILE && netSubType != TelephonyManager.NETWORK_TYPE_UNKNOWN) { 
       bNetwork = networkInfo.isConnected(); 
       if (bNetwork == true) 
        break; 
      } else { 
       bNetwork = false; 
      } 
     } 
     if (!bNetwork) { 
      Log.i(TAG, "You are not in network"); 
     } 
     Log.i(TAG, "bNetwork : " + bNetwork); 
     return bNetwork; 
    } 
相关问题