Проверка типа соединения в «Андроидах»
Оказывается в «Андроидах», начиная с версии 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, увы, это свойство не поддерживается.
Тут самое поразительное, что только сейчас допёрли отдавать эту инфу разработчикам.
Вот по каким причинам не отдали раньше? Опасность какую-то видели, или ненадобность?
UNKNOWN тоже очень нравится. ОС не знает канал передачи данных? Тьху.
Комментарий для boltai-shaltai:
Например, USB-шнурок — это какой канал? Наверное неизвестный.
В будущем, к примеру, появится интернет через NFC или NewSoCoolBuzzword, куда его пихать? Можно константы расширить, конечно. Но пока не расширили можно показать UNKNOWN.
Я бы сказал — USB ;-))
А разработчик пусть сам решает, с какой вероятностью за ним кроется платный трафик.
Комментарий для boltai-shaltai:
Ну, это всё равно что UNKNOWN :) Не несёт никакой информации.
Комментарий для Евгения Степанищева:
А андроид умеет брать интернет по USB? У меня такого не получалось.
Комментарий для greli.livejournal.com:
Не знаю, я не пробовал. Я помню что Windows Mobile умел, вот и предположил, что «Андроид» тоже умеет.
Комментарий для Евгения Степанищева:
Оно даёт вероятность. За usb-шнурком чаще всего — комп, за компом — ethernet. Чаще всего, подчёркиваю. Процентов так на 90, не меньше. Достаточно существенная информация по сравнению с unknown.
Комментарий для boltai-shaltai:
За USB-шнурком — почти гарантированно комп, а дальше — неизвестность. Например, DSL-канал с оплатой по трафику.
Комментарий для Евгения Степанищева:
Ето как? o.O
Попробуйте http://www.junefabrics.com/android/index.php
Комментарий для praeivis.lt:
Ну то есть «NewSoCoolBuzzword» не смутило? :) Я имею ввиду, мало ли через что там, в будущем будет интернет. Через NFC, кстати, тоже можно, отчего ж нет?
Комментарий для Евгения Степанищева:
То есть быстрый и сравнительно недорогой канал? Главное, что за USB вряд ли стоят всякие gprs. Могут, но вероятность невелика. Как распорядиться, путь решает разработчик. А с unknown он не может вообще ничего.
Комментарий для boltai-shaltai:
Кому как. У меня в Казани канал по трафику (DSL), мне он кажется дорогим.
Комментарий для Евгения Степанищева:
А Вы уверены в етом?
Комментарий для praeivis.lt:
Конечно. Через любой канал передачи данных можно раздавать интернет. Хоть через QR-коды.
Комментарий для greli.livejournal.com:
умеет. desire + пошивка RuHD 2.1.0, при подключении USB есть «Сквозное подключение к Интернет»