я знаю, что вы уже приняли ответ, но вы не должны использовать опубликованный код, потому что, как вы сказали, он хрупок и сложен в обслуживании. Для этого нет никаких оснований.
public String getWifiStateStr() {
switch (mWifiManager.getWifiState()) {
case WifiManager.WIFI_STATE_DISABLING:
return "disabling";
case WifiManager.WIFI_STATE_DISABLED:
return "disabled";
case WifiManager.WIFI_STATE_ENABLING:
return "enabling";
case WifiManager.WIFI_STATE_ENABLED:
return "enabled";
case WifiManager.WIFI_STATE_UNKNOWN:
return "unknown";
default:
return null; //or whatever you want for an error string
}
}
Это защитит вас от изменений в константном назначении, будет намного легче читать через 6 месяцев, и, если вы правильно обрабатываете строку ошибки, это должно ограничивать количество ошибок, если количество допустимых возвращаемых значений увеличивается.
Когда вы видите переменную, указанную как «Константа» в документации Android, это означает, что она объявлена как общедоступная статическая финальная. Доступ к нему можно получить как ClassName.CONST_VARIABLE_NAME. Условно, что эти переменные будут во всех заглавных буквах, но это не требование языка. Вообще говоря, вам никогда не нужно использовать действительное значение таких членов, вы всегда должны получать к ним доступ по имени члена, если вам не нужно делать что-то странное.