Android Wi-Fi Scan: Filter printers from ScanResult

I am working on a project, that needs to scan for public Wi-Fi access points.

Currently, I am filtering the ScanResult like this:

for (ScanResult scanResult : wifiList) {
  if (!(scanResult.capabilities.contains("WEP") || 
        scanResult.capabilities.contains("WPA") || 
        scanResult.capabilities.contains("WPA2"))) {



It works fine, except that I also get printers that are nearby.

While scanning, the phone is not connected to any network.

I would have assumed that I get a list that is identically with the list of Wi-Fi connections that is shown in the Wi-Fi Settings on Android. But in the Wi-Fi Setting there is no printer shown ever.

So for 1) I think it is strange that printers show up in the ScanResult list at all, should printers really be visible that way?

And 2) is there any way that I could check whether the ScanResult belongs to a printer?

So far I could only think of filtering for common SSID names, but that will not be very efficient or reliable.

Thanks for any suggestions.