如果wifi开启,getActiveNetworkInfo()应该返回wifi

时间:2016-03-02 10:19:20

标签: android networking

我的设备是带有Android 6.0.1的Nexus5,当我打开wifi和蜂窝网络时,我使用以下代码检查网络类型:

 ConnectivityManager cm = (ConnectivityManager)mCtx.getSystemService(Context.CONNECTIVITY_SERVICE);
        if (cm != null) {
            NetworkInfo info = cm.getActiveNetworkInfo();
            if (info != null) {
                mNetworkType = info.getTypeName();
            }
        }
    }
    Logger.d(TestUtils.TEST_TAG, "type is: " + mNetworkType);

输出type is : MOBILE,这是api的预期行为吗?

1 个答案:

答案 0 :(得分:0)

根据Java Doc,它提供了默认网络。

#getActiveNetworkInfo()

  

返回有关当前活动的默认数据网络的详细信息。什么时候   已连接,此网络是传出连接的默认路由。   在启动网络之前,您应该始终检查isConnected()   交通。当没有默认网络时,这可能会返回null。

     

此方法要求调用者保留权限   ACCESS_NETWORK_STATE。

如果您想特别检查WIFI,可以使用方法

#getNetworkInfo(Network)

  

返回有关特定网络的连接状态信息。

     

此方法要求调用者保留权限   ACCESS_NETWORK_STATE。