我认为我应该使用NetworkInterface::getDisplayName。我得到了一些名称,但是这个名称与我选择要连接的网络时看到的名称不同。
我认为我应该使用 NetworkInterface::getDisplayName 方法来获取网络接口的显示名称,但是实际上获得的名称与我在选择要连接的网络时看到的名称并不相同。我认为我应该使用NetworkInterface::getDisplayName。我得到了一些名称,但是这个名称与我选择要连接的网络时看到的名称不同。
我认为我应该使用 NetworkInterface::getDisplayName 方法来获取网络接口的显示名称,但是实际上获得的名称与我在选择要连接的网络时看到的名称并不相同。android.net.wifi.WifiInfo.getSSID
是什么?
WifiManager wifiMgr = (WifiManager) getActivity().getSystemService(Context.WIFI_SERVICE);
WifiInfo wifiInfo = wifiMgr.getConnectionInfo();
String name = wifiInfo.getSSID();
Android.Net.Wifi.WifiInfo.SSID
- Matheus Mirandapublic String getWifiName(Context context) {
WifiManager manager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
if (manager.isWifiEnabled()) {
WifiInfo wifiInfo = manager.getConnectionInfo();
if (wifiInfo != null) {
DetailedState state = WifiInfo.getDetailedStateOf(wifiInfo.getSupplicantState());
if (state == DetailedState.CONNECTED || state == DetailedState.OBTAINING_IPADDR) {
return wifiInfo.getSSID();
}
}
}
return null;
}
WifiManager
?我该如何让 Xamarin 知道它? - GuidoG这个方法(混合使用Marakana和其他人的各种答案)可以同时从以下内容中提取您想要的一切:
所有已存储的WiFi网络(在您的设备上)
public String getCurrentSsid(Context context) {
String ssid = null;
ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
if (networkInfo.isConnected()) {
final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
final WifiInfo connectionInfo = wifiManager.getConnectionInfo();
if (connectionInfo != null && !(connectionInfo.getSSID().equals(""))) {
//if (connectionInfo != null && !StringUtil.isBlank(connectionInfo.getSSID())) {
ssid = connectionInfo.getSSID();
}
// Get WiFi status MARAKANA
WifiInfo info = wifiManager.getConnectionInfo();
String textStatus = "";
textStatus += "\n\nWiFi Status: " + info.toString();
String BSSID = info.getBSSID();
String MAC = info.getMacAddress();
List<ScanResult> results = wifiManager.getScanResults();
ScanResult bestSignal = null;
int count = 1;
String etWifiList = "";
for (ScanResult result : results) {
etWifiList += count++ + ". " + result.SSID + " : " + result.level + "\n" +
result.BSSID + "\n" + result.capabilities +"\n" +
"\n=======================\n";
}
Log.v(TAG, "from SO: \n"+etWifiList);
// List stored networks
List<WifiConfiguration> configs = wifiManager.getConfiguredNetworks();
for (WifiConfiguration config : configs) {
textStatus+= "\n\n" + config.toString();
}
Log.v(TAG,"from marakana: \n"+textStatus);
}
return ssid;
}
免责声明:虽然这是可以运行的代码而非伪代码,但它的唯一目的是说明从Wi-Fi连接中提取数据的方法,使用前应进行适当的调整(和清理)。
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
- Shereef Marzouk只需2行即可简单实现
WifiManager w=(WifiManager)getSystemService(Context.WIFI_SERVICE);
String wifi=w.getConnectionInfo().getSSID();
记得将这个放在你的清单文件中
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>