Вопрос:
Как получить Apps Using WLAN & Cellular Setting настройкой состояния Apps Using WLAN & Cellular Setting на рисунке ниже?
Как я могу проверить этот статус (нет, WLAN, WLAN и сотовая связь) для моего приложения, чтобы я мог показать предупреждение, чтобы напомнить пользователю об открытии этого переключателя ~
Ответ №1
Я нахожу решение окончательно ~
: D
Когда Reachability NotReachable, есть 2 ситуации,
- Wi-Fi не подключен
- Apps Using WLAN & Cellular Setting отключены
Если мы сможем получить SSID текущего Wi-Fi, мы можем судить о том, что Wi-Fi подключен, а сетевой коммутатор выключен ~
#import <SystemConfiguration/CaptiveNetwork.h> BOOL networkSwitchOff = NO; Reachability *reach = [Reachability reachabilityForInternetConnection]; NetworkStatus status = [reach currentReachabilityStatus]; if(status==NotReachable){ //Reachability NotReachable NSArray *supportedInterfaces = (__bridge_transfer id)CNCopySupportedInterfaces(); id info = nil; NSString *ssid = nil; for (NSString *networkInfo in supportedInterfaces) { info = (__bridge_transfer id)CNCopyCurrentNetworkInfo((__bridge CFStringRef)networkInfo); if (info && [info count]) break; } if (info) { NSDictionary *dctySSID = (NSDictionary *)info; //we can’t get ssid if wifi is not connected ssid = [dctySSID objectForKey:@»SSID»]; } networkSwitchOff = (ssid!=nil); }