Возникла необходимость получить SSID сети из Android приложения. Облазил StackOverflow вдоль и поперек… Ответ помечен как правильный. но я имплементирую код который дан и… приложение на нем останавливается. Долго я мучился. Оказывается, нужно добавить Permission…, а лучше два. Код почти полностью из ответа, но у меня он полностью не заработал, так что пришлось удалить ту часть, которая не работает:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
private String getCurrentSsid(Context context) { String ssid = null; ConnectivityManager connManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo networkInfo = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI); if (networkInfo.isConnected()) { final WifiManager wifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE); final WifiInfo connectionInfo = wifiManager.getConnectionInfo(); if (connectionInfo != null) { ssid = connectionInfo.getSSID(); } } return ssid; } |
Метод возвращает название SSID (строка) или null если wi-fi не подключен.
Для работы требуются следующие разрешения:
1 2 |
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> |
А не проще ли iwconfig да busybox какой-нибудь использовать?..
P.S. регексп проверки валидности емэйла не дает вставить использовать .рф ;)
Ок, я не знаю данный способ. Расскажите подробнее?