Проверка типа соединения в «Андроидах»
Оказывается в «Андроидах», начиная с версии 2.2 есть специальное свойство у navigator.connection, которое позволяет узнать тип соединения: «navigator.connection.type». Объект «navigator.connection» содержит так же несколько констант, с самодокументируемыми названиями, которые содержат все возможные значения типа соединения: UNKNOWN, ETHERNET, WIFI, CELL_2G, CELL_3G.
with (navigator.connection)
if (type == CELL_2G || type == CELL_3G) {
// медленное и/или платное
}На последней, на данный момент прошивке iOS на iPhone 4, увы, это свойство не поддерживается.
Комментарии 15
Вот по каким причинам не отдали раньше? Опасность
UNKNOWN тоже очень нравится. ОС не знает канал передачи данных? Тьху.
Например,USB-шнурок — это какой канал? Наверное неизвестный.
В будущем, к примеру, появится интернет через NFC или NewSoCoolBuzzword, куда его пихать? Можно константы расширить, конечно. Но пока не расширили можно показать UNKNOWN.
Я бы сказал — USB;-))
А разработчик пусть сам решает, с какой вероятностью за ним кроется платный трафик.
Ну, это всё равно что UNKNOWN :) Не несёт никакой информации.
А андроид умеет брать интернет по USB? У меня такого не получалось.
умеет. desire + пошивка RuHD 2.1.0, при подключении USB есть «Сквозное подключение к Интернет»
Комментарий для Евгения Степанищева:
Оно даёт вероятность. Заusb-шнурком чаще всего — комп, за компом — ethernet. Чаще всего, подчёркиваю. Процентов так на 90, не меньше. Достаточно существенная информация по сравнению с unknown.
Комментарий дляboltai-shaltai:
ЗаUSB-шнурком — почти гарантированно комп, а дальше — неизвестность. Например, DSL-канал с оплатой по трафику.
Комментарий для Евгения Степанищева:
Ето как? o.O
Попробуйте http://www.junefabrics.com/android/index.php
Ну то есть «NewSoCoolBuzzword» не смутило? :) Я имею ввиду, мало ли через что там, в будущем будет интернет. Через NFC, кстати, тоже можно, отчего ж нет?
Комментарий для Евгения Степанищева:
То есть быстрый и сравнительно недорогой канал? Главное, что за USB вряд ли стоят всякие gprs. Могут, но вероятность невелика. Как распорядиться, путь решает разработчик. А с unknown он не может вообще ничего.
Комментарий дляboltai-shaltai:
Кому как. У меня в Казани канал по трафику (DSL), мне он кажется дорогим.
Комментарий для Евгения Степанищева:
А Вы уверены в етом?
Комментарий для praeivis.lt:
Конечно. Через любой канал передачи данных можно раздавать интернет. Хоть черезQR-коды.