Y a-t-il un ordre de préférence selon lequel le système d'exploitation Android affiche les noms de réseau Wifi dans la liste des réseaux disponibles ?
Merci
Y a-t-il un ordre de préférence selon lequel le système d'exploitation Android affiche les noms de réseau Wifi dans la liste des réseaux disponibles ?
Merci
Les réseaux offerts pour se connecter sont classés par:
isPrimaryNetwork()
)getConnectedState()
)instanceof KnownNetworkEntry
)instanceof HotspotNetworkEntry
)getUpstreamConnectionStrength()
)canConnect()
)isSubscription()
)isSaved()
)isSuggestion()
)getLevel()
)getTitle()
)en utilisant le WifiEntry.WIFI_PICKER_COMPARATOR
/**
* Comparateur par défaut pour trier les WifiEntries sur une liste de sélection Wi-Fi.
*/
public static Comparator WIFI_PICKER_COMPARATOR =
Comparator.comparing((WifiEntry entry) -> !entry.isPrimaryNetwork())
.thenComparing((WifiEntry entry) ->
entry.getConnectedState() != CONNECTED_STATE_CONNECTED)
.thenComparing((WifiEntry entry) -> !(entry instanceof KnownNetworkEntry))
.thenComparing((WifiEntry entry) -> !(entry instanceof HotspotNetworkEntry))
.thenComparing((WifiEntry entry) -> (entry instanceof HotspotNetworkEntry)
? -((HotspotNetworkEntry) entry).getUpstreamConnectionStrength() : 0)
.thenComparing((WifiEntry entry) -> !entry.canConnect())
.thenComparing((WifiEntry entry) -> !entry.isSubscription())
.thenComparing((WifiEntry entry) -> !entry.isSaved())
.thenComparing((WifiEntry entry) -> !entry.isSuggestion())
.thenComparing((WifiEntry entry) -> -entry.getLevel())
.thenComparing((WifiEntry entry) -> entry.getTitle());
dans WifiPickerTracker::updateWifiEntries()
activeWifiEntries.sort(WifiEntry.WIFI_PICKER_COMPARATOR);
Dans les zones résidentielles, souvent de nombreux des critères supérieurs seront les mêmes et la force de la connexion montante/la force du signal seront les facteurs décisifs.
Les réseaux enregistrés dans Wi-Fi > Avancé > Réseaux gérés sont classés par ordre alphabétique par titre en utilisant le WifiEntry.TITLE_COMPARATOR
public static Comparator TITLE_COMPARATOR =
Comparator.comparing((WifiEntry entry) -> entry.getTitle());
dans SavedNetworkTracker::updateWifiEntries()
mSavedWifiEntries.addAll(mStandardWifiEntryCache);
Collections.sort(mSavedWifiEntries, WifiEntry.TITLE_COMPARATOR);
AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.