如何检查我是否连接到某个 wifi 网络?
How to check if I am connected to a certain wifi network?
我对开发 android 应用程序完全陌生。我想让我的应用程序(持续或每隔几分钟)在后台检查我是否连接到某个 wifi 网络。如果是这样,它应该调用某个class。不幸的是,到目前为止,我无法提供太多代码片段。任何人都可以帮助我做到这一点吗?
您尝试过使用:
android.net.wifi.WifiInfo.getSSID()
查看此方法的 documentation。您还可以从 WifiInfo
.
获得更多有用的信息
只需定义一个方法来确定设备当前是否连接到特定的 SSID:
public boolean isConnectedTo(String ssid, Context context) {
boolean retVal = false;
WifiManager wifi = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifi.getConnectionInfo();
if (wifiInfo != null) {
String currentConnectedSSID = wifiInfo.getSSID();
if (currentConnectedSSID != null && ssid.equals(currentConnectedSSID)) {
retVal = true;
}
}
return retVal;
}
那么就用这样的方法:
if (isConnectedTo("SOME_SSID", MainActivity.this)) {
//Call into other class
}
我对开发 android 应用程序完全陌生。我想让我的应用程序(持续或每隔几分钟)在后台检查我是否连接到某个 wifi 网络。如果是这样,它应该调用某个class。不幸的是,到目前为止,我无法提供太多代码片段。任何人都可以帮助我做到这一点吗?
您尝试过使用:
android.net.wifi.WifiInfo.getSSID()
查看此方法的 documentation。您还可以从 WifiInfo
.
只需定义一个方法来确定设备当前是否连接到特定的 SSID:
public boolean isConnectedTo(String ssid, Context context) {
boolean retVal = false;
WifiManager wifi = (WifiManager) context.getApplicationContext().getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifi.getConnectionInfo();
if (wifiInfo != null) {
String currentConnectedSSID = wifiInfo.getSSID();
if (currentConnectedSSID != null && ssid.equals(currentConnectedSSID)) {
retVal = true;
}
}
return retVal;
}
那么就用这样的方法:
if (isConnectedTo("SOME_SSID", MainActivity.this)) {
//Call into other class
}