如果我们已经连接到某些Wifi或Wifi Direct或Hotspot,我们可以在Android中找到任何方法。
如果是,请告诉我怎么做?我需要找到所有3(wifi / hotspot / wifi直接)并根据答案在我的应用程序中做一些事情。
答案 0 :(得分:0)
这是一个代码快照希望它适合你!
public static int getNetworkType(Context context) {
ConnectivityManager connectivity = (ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
// 获取网络连接管理的对象
NetworkInfo info = connectivity.getActiveNetworkInfo();
if (info != null && info.isConnected()) {
// 判断当前网络是否已经连接
if (info.getState() == NetworkInfo.State.CONNECTED) {
if (info.getTypeName().equalsIgnoreCase("WIFI")) {
return MrDefines.NETTYPE_WIFI;
} else {
Cursor mCursor = context.getContentResolver().query(
Uri.parse("content://telephony/carriers"),
new String[] {"name"}, "current=1",
null, null);
if(mCursor != null && mCursor.moveToFirst()){
String name = mCursor.getString(0);
mCursor.close();
if(name.equalsIgnoreCase("cmnet"))
return MrDefines.NETTYPE_CMNET;
else if(name.equalsIgnoreCase("cmwap"))
return MrDefines.NETTYPE_CMWAP;
}else if (mCursor != null) {
mCursor.close();
}
}
}
}
}
return MrDefines.NETTYPE_UNKNOW;
}
答案 1 :(得分:0)
我认为WifiManager和ConnectivityManager可能是您需要的东西。看看参考文献
http://developer.android.com/reference/android/net/wifi/WifiManager.html
http://developer.android.com/reference/android/net/ConnectivityManager.html