我的设备是带有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的预期行为吗?
答案 0 :(得分:0)
根据Java Doc,它提供了默认网络。
返回有关当前活动的默认数据网络的详细信息。什么时候 已连接,此网络是传出连接的默认路由。 在启动网络之前,您应该始终检查isConnected() 交通。当没有默认网络时,这可能会返回null。
此方法要求调用者保留权限 ACCESS_NETWORK_STATE。
如果您想特别检查WIFI,可以使用方法
返回有关特定网络的连接状态信息。
此方法要求调用者保留权限 ACCESS_NETWORK_STATE。