android - 为什么来自 getConfiguredNetworks() 的 SSID 添加引号?

标签 android

希望同时获取当前连接的WIFI名称和存储的已连接WIFI名称。

我发现wifiInfo.getSSID()可以得到正确的结果,比如MyWiFi1,

但是config.SSID中的名称是加引号的,比如"MyWiFi2"。

如何从 config.SSID 获取正确的名称?谢谢!

public static List<MWiFi> ListPhoneStoredWiFi(Context context) {
    List<MWiFi> myWiFiList= new ArrayList<MWiFi>();
    WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); 

    WifiInfo wifiInfo = wifiManager.getConnectionInfo();
    if (wifiInfo!=null){
        if (wifiInfo.getNetworkId()!=-1){
           MWiFi mWiFi=new  MWiFi();
           mWiFi.name=wifiInfo.getSSID();
           mWiFi.networkID=wifiInfo.getNetworkId();
           mWiFi.enabled=true;
           myWiFiList.add(mWiFi);
        }
    }

    // List stored networks
    List<WifiConfiguration> configs = wifiManager.getConfiguredNetworks();

    if (configs!=null){     
      for (WifiConfiguration config : configs) {
          if (config.networkId!=wifiInfo.getNetworkId()) {
             MWiFi mWiFi=new  MWiFi();
             mWiFi.name=config.SSID;
             mWiFi.networkID=config.networkId;
             mWiFi.enabled=true;                 
             myWiFiList.add(mWiFi);
          }
      }
    }   

    return myWiFiList;      
}

最佳答案

根据 WifiConfiguration.SSID 的文档和 WifiInfo.getSSID() ,当这些值表示 UTF-8 编码字符串时,您应该始终期望它们在引号中返回。这是为了将它们与作为十六进制数字字符串返回的 SSID 区分开来……这也是您应该期望处理的值。

由于框架告诉您预期变化,您的代码应该处理查找和屏蔽引号字符。

关于android - 为什么来自 getConfiguredNetworks() 的 SSID 添加引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28522594/

相关文章:

android - 类型转换器不适用于@Query 中的集合

android - 如何在 ViewPager 中添加 PreferenceFragment?

java - Android:使用 TabHost 和 TabWidget 自定义选项卡的外观

java - 检索项目 :No resource found that matches the given name 'Theme.AppCompat.Light' . 的父项时出错 MY R.java 丢失

Android,线程 - 处理程序/异步任务

android - Flutter:PlatformException(错误,无法找到包含 <path> 的已配置根目录,null)

android - 如何在 Gradle 脚本中抑制 Android Lint 警告

Android:C2DM 在没有通知的情况下更改 registration_id?

android - 重新创建 fragment - 查看寻呼机 - FragmentPagerAdapter