我写了一个Android应用程序,需要通过网络传输大量数据。为了保持低发票,我在配置中添加了一个开关,应该将应用程序切换到“仅限wlan”模式。
不幸的是,我无法在我的应用中实现对WLAN连接的正确检查,基本思路是通过
添加所需的权限 <uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
在我的清单中(应该满足此目的)并实现了一个在我的活动中访问的简单方法:
protected boolean checkForNetwork(Context context, boolean wlanOnly) {
// check via ACCESS_NETWORK_STATE
ConnectivityManager manager = (ConnectivityManager) context.
getSystemService(Context.CONNECTIVITY_SERVICE);
if (!wlanOnly) {
return manager.getActiveNetworkInfo().isConnected();
} else {
// hmm...
}
}
我很不确定//嗯......部分是什么。
答案 0 :(得分:4)
试试这个:
NetworkInfo info = manager.getActiveNetworkInfo();
if (info.getType() == ConnectivityManager.TYPE_WIFI) {
return info.isConnected();
}
答案 1 :(得分:1)
State wifi = conMan.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState();
你可以看看这里; - )
http://developer.android.com/reference/android/net/wifi/WifiManager.html
公共静态类WifiConfiguration。 Status int CURRENT这是我们当前连接的网络