java - 如何从android中的扫描结果中过滤特定的SSID?

标签 java android kotlin android-wifi wifimanager

我是 Android 开发新手,我正在开发一个应用程序,该应用程序扫描所有可用的 WI-FI,然后将它们显示在列表中,其工作正常,代码如下:

private var wifiManager: WifiManager? = null
private val arrayList = ArrayList<String>()
private var adapter: ArrayAdapter<*>? = null

private var wifiReceiver: BroadcastReceiver = object : BroadcastReceiver() {
    override fun onReceive(context: Context, intent: Intent) {
        val results = wifiManager!!.scanResults
        unregisterReceiver(this)

        for (scanResult in results) {
            arrayList.add(scanResult.SSID)
            adapter!!.notifyDataSetChanged()

        }
    }
}

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    wifiManager = applicationContext.getSystemService(Context.WIFI_SERVICE) as WifiManager
    adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, arrayList)

    val wifi = AlertDialog.Builder(this)
    wifi.setTitle("Wifi scan list")
    wifi.setAdapter(adapter) { dialog, which ->
    }
    wifi.create()
    wifi.show()

}

但现在我想从 wifi 扫描列表中隐藏一些包含“_”的 ssid。如何从 WiFi 扫描列表中隐藏这些 SSID?

最佳答案

只需更改为:

for (scanResult in results) {
    if (!scanResult.SSID.contains("_") {
        arrayList.add(scanResult.SSID)
        adapter!!.notifyDataSetChanged()
    }
}

关于java - 如何从android中的扫描结果中过滤特定的SSID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53914592/

相关文章:

java - Spring 安全 : session expiration without redirect to expired-url?

android - 从 admob 独立 SDK 切换到 Google Play 服务 SDK 时 apk 大小膨胀

java - 跨不同线程调用c>java

kotlin - 如何在 Kotlin 类构造函数主体中使用自定义 setter

android - 为什么 SELinux 拒绝我的 Android 应用对其自身文件的读取权限?

android - kotlin:使用多个 lambda 调用高阶函数

java - 使用正则表达式查找两个字符串之间的字符串

java - 如何设置 Android Studio 中安装的默认项目?

android - 在带有可选文本的 TextView 上使用 onClick - 如何避免双击?

c# - 捕获没有焦点的击键