代码之家  ›  专栏  ›  技术社区  ›  user934820

检查3g、4g是否已连接android

  •  0
  • user934820  · 技术社区  · 10 年前

    我使用下面的代码来检查手机或平板电脑上是否有任何类型的连接。它与WiFi和GPRS配合良好。不幸的是,我没有3g访问权限,因此我无法检查此代码是否有效。如果你们中有人能确认吗?它对电池寿命有多大影响?

     private  boolean chkConnectivity() {
        boolean isConnected = false;
    
        ConnectivityManager connManager = (ConnectivityManager) ctx.getSystemService(Context.CONNECTIVITY_SERVICE);
        NetworkInfo mWifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
        android.net.NetworkInfo mobile = connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);
        if( mobile.isAvailable() && mobile.getDetailedState() == NetworkInfo.DetailedState.CONNECTED ){
            Toast.makeText(ctx, "3g", Toast.LENGTH_SHORT).show();
            return true;
        }
        if (mWifi.isAvailable() && mWifi.getDetailedState() == NetworkInfo.DetailedState.CONNECTED ) {
            Toast.makeText(ctx, "WiFi", Toast.LENGTH_SHORT).show();
            return true;
        }
        try {
            TelephonyManager mgr = (TelephonyManager) ctx.getSystemService(Context.TELEPHONY_SERVICE);
            int networkType = mgr.getNetworkType();
            if (networkType == TelephonyManager.NETWORK_TYPE_GPRS){
                Class cmClass = Class.forName(connManager.getClass().getName());
                Method method = cmClass.getDeclaredMethod("getMobileDataEnabled");
                method.setAccessible(true);
                isConnected = (Boolean)method.invoke(connManager);
                if (isConnected){
                    Toast.makeText(ctx, "GPRS", Toast.LENGTH_SHORT).show();
                    return isConnected;
                }
            }
            Toast.makeText(ctx, "No connection", Toast.LENGTH_SHORT).show();
            return isConnected;
    
        } catch (Exception e) {
            return false;
        }
    
    }
    
    1 回复  |  直到 10 年前
        1
  •  2
  •   KISHORE_ZE    10 年前

    对不起,我迟到了。

    这就是你的应用程序的运行方式。没问题。

    无数据

    Image2

    带数据 enter image description here