我看了这个解决方案:How to check network connection enable or disable in WIFI and 3G(data plan) in mobile?。但是,它只是检查wifi网络是否连接。如何检查wifi是否连接到特定的SSID?如何检查wifi是否连接到特定的SSID
2
A
回答
7
的代码是相似的,再次使用的系统服务,请确保您连接到的东西,并获得SSID:
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
if (WifiInfo.getDetailedStateOf(wifiInfo.getSupplicantState()) == NetworkInfo.DetailedState.CONNECTED) {
String ssid = wifiInfo.getSSID();
}
1
public static boolean IsWiFiConnected(Context context) {
ConnectivityManager connectivity = (ConnectivityManager) context
.getApplicationContext().getSystemService(
Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null) {
for (int i = 0; i < info.length; i++) {
if (info[i].getTypeName().equals("WIFI")
&& info[i].isConnected())
return true;
}
}
}
return false;
}
+1
这并不回答OP关于特定SSID的问题。 – Steve
1
为我工作的最好的:
Menifest:
<receiver android:name="com.AEDesign.communication.WifiReceiver" >
<intent-filter android:priority="100">
<action android:name="android.net.wifi.STATE_CHANGE" />
</intent-filter>
</receiver>
类别:
public class WifiReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
NetworkInfo info = intent.getParcelableExtra(WifiManager.EXTRA_NETWORK_INFO);
if(info!=null){
if(info.isConnected()){
//Do your work.
//To check the Network Name or other info:
WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiManager.getConnectionInfo();
String ssid = wifiInfo.getSSID();
}
}
权限:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
相关问题
- 1. 检查客户端的PC是否连接到特定的Wifi
- 2. 如何检查wifi是否连接?
- 3. WIFI连接时获取SSID?
- 4. 如何在连接到Wifi时检查3G是否已启用?
- 5. UWP-如何检查是否连接到Wifi网络
- 6. 检测连接到MIT App Inventor的WiFi的SSID?
- 7. 连接到具有给定的SSID和密码的ios编程的特定wifi
- 8. Android - 检测从特定的WiFi ssid断开连接的正确方法?
- 9. 如何连接到知道SSID和密码的powershell中的wifi?
- 10. 如何使用指定的SSID自动连接WiFi?
- 11. iPhone:如何自动连接到已知的WiFi SSID?
- 12. 正确的方法来检查是否连接到Android的WiFi
- 13. 如何知道您是否连接到Wifi Hotspot/Wifi/Wifi Direct
- 14. 检查用户是否连接到Android上的WIFi
- 15. 如何检查uiautomator是否连接了wifi?
- 16. 检查是否有特定的网络/ SSID可用
- 17. 检查WiFi是否连接返回假即使它连接
- 18. 如何连接到Android的特定WiFi连接?
- 19. Android - 连接到指定的无线网络和检查SSID
- 20. 检查用户是否连接到wifi或蜂窝
- 21. 检查Firefox OS是否连接到WiFi以获得特权应用程序
- 22. 定期检查附近的wifi连接
- 23. 的Android 4.0 - 检查连接到WiFi
- 24. 如何检查android wifi连接?
- 25. 如何检查本地wifi连接
- 26. 如何以编程方式确定android是否连接到wifi?
- 27. 如何连接到特定的Wifi直接Mac地址
- 28. 如何检查是否WebSocket的连接
- 29. Android检查wifi连接
- 30. 如何显示当前连接的WIFI SSID?
如果我的无线网络SSID是Linksys和我去我朋友的房子谁也有自己的SSID设置为Linksys的,我可以连接到一个(我有两个密码) ,这个测试对于两个地方都是正确的,对吗?有没有办法确保它是我的Linksys网络?使用MAC地址,也许? – MrGibbage
由于某种原因,它不起作用。我必须使用'ConnectivityManager'和'NetworkInfo'。可能是什么原因? – chip