Вопрос

Я хочу загрузить некоторые данные, если пользователь в настоящее время подключен к Wi-Fi, но если пользователь подключен с использованием сотовых данных (например,3G) Я не хочу ничего делать, чтобы предотвратить взимание платы за передачу данных для пользователя.

Для этого мне нужно знать текущий тип соединения.Есть ли какой-либо API, который предоставил бы мне эту информацию?(Это родное приложение.)

Спасибо.

Это было полезно?

Решение

Возможно, вы найдете этот статья и пример кода полезны.

Другой вариант проверки статуса WLAN — чтение следующего значения реестра:

HKEY_LOCAL_MACHINE\System\State\Hardware\Wifi

по крайней мере, согласно этот post (который, я думаю, вы можете легко адаптировать к собственному коду).Если WLAN включен, я думаю, вы можете безопасно разрешить пользователю загружать данные.

Редактировать:полученные значения соответствуют следующему статусу WLAN:

0 - питание выключено

1 или 5 – готово

11 или 15 – соединительные

19 или 23 – подключено

Я не уверен на 100%, что при подключении WLAN не будут использоваться какие-либо другие службы передачи данных, такие как 3G.Возможно это зависит от настроек подключения.Однако, когда я использую свое устройство, я заметил, что если подключена WLAN, оно «принимает на себя команду».Если у вас есть возможность, вам следует проверить это на разных устройствах, возможно, у разных операторов.

Удачи.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top