有沒有什麼辦法可以在Android中找到,如果我們已經連接到某些Wifi或WiFi Direct或Hotspot。如何知道您是否連接到Wifi Hotspot/Wifi/Wifi Direct
如果是,請讓我知道如何?我需要找到所有3(WiFi /熱點/ WiFi直接),並根據答案在我的應用程序中做一些事情。
有沒有什麼辦法可以在Android中找到,如果我們已經連接到某些Wifi或WiFi Direct或Hotspot。如何知道您是否連接到Wifi Hotspot/Wifi/Wifi Direct
如果是,請讓我知道如何?我需要找到所有3(WiFi /熱點/ WiFi直接),並根據答案在我的應用程序中做一些事情。
這裏是一個代碼管理單元,希望它能幫助你!
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;
}
我認爲WifiManager和ConnectivityManager可能是您需要的東西。看看引用
http://developer.android.com/reference/android/net/wifi/WifiManager.html
http://developer.android.com/reference/android/net/ConnectivityManager.html
什麼是MrDefines? – learner 2013-02-28 12:06:43
不在乎,它是連接類型的定義 – yichouangle 2013-02-28 14:20:48
謝謝,明白了:) – learner 2013-03-03 15:09:54