Получение статуса «Мобильная сеть», статус автоподключения 3g после падения wifi - PullRequest
0 голосов
/ 01 декабря 2011

Я новичок в Java, разрабатываю это приложение для моего телефона с Android.

Мне нужно получить статус автоматического подключения к мобильной сети при включенном Wi-Fi.

У меня есть проверка, включен ли Wi-Fi, и я могу проверить, включен ли 3g, но 3g отключен, так как Wi-Fi является «ведущим» подключений и принимает / отключает 3g.Мое приложение имеет возможность выключения Wi-Fi.Но после выключения Wi-Fi, 3g появляется.Я хочу статус, если в устройстве установлено автоматическое подключение к 3g или что-то.После этого я хочу отключить соединение 3g, но это будет следующая глава.Статус для этого можно найти в настройках Беспроводная связь и сети -> Мобильная сеть [флажок]

Сделал много поиска здесь и в Google, но не повезло.Может быть, спрашивая здесь ...

ОБНОВЛЕНИЕ: Теперь изучим системные настройки.Выяснение, хранится ли там статус.

1 Ответ

1 голос
/ 05 декабря 2011

Нашли решение по вышеуказанной проблеме:

 public Boolean isMobileDataEnabled(){
    Object connectivityService = getSystemService(CONNECTIVITY_SERVICE); 
    ConnectivityManager cm = (ConnectivityManager) connectivityService;

    try {
        Class<?> c = Class.forName(cm.getClass().getName());
        Method m = c.getDeclaredMethod("getMobileDataEnabled");
        m.setAccessible(true);
        return (Boolean)m.invoke(cm);
    } catch (Exception e) {
        e.printStackTrace();
        return null;
    }
}
...