[Приложение] мой MjDM (Android)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 898 раз

Re: [Приложение] мой MjDM (Android)

Сообщение SmoKE_xDDD » Пн янв 20, 2020 2:27 pm

Спасибо, переключение сервера по вайфай очень хочется =)
За это сообщение автора SmoKE_xDDD поблагодарил:
hc2hunter (Пн янв 20, 2020 3:14 pm)
Рейтинг: 1.16%
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Пн янв 20, 2020 3:14 pm

Да помню я...
Вы хотите, чтобы в зависимости от точки доступа сервер становился именно приоритетным (первым в списке), или чтобы просто программа переключалась на него (выводила на передний план)?
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 898 раз

Re: [Приложение] мой MjDM (Android)

Сообщение SmoKE_xDDD » Пн янв 20, 2020 3:19 pm

hc2hunter писал(а):
Пн янв 20, 2020 3:14 pm
Да помню я...
Вы хотите, чтобы в зависимости от точки доступа сервер становился приоритетным (первым в списке), или чтобы просто программа переключалась на него и загружала страницу?
Да я верю, что помните =)
Да, смотрите, как я себе это вижу:
1) В настройках указываю имена WiFi сетей (Можно просто перечислением, через запятую. Именно несколько, т.к. у меня лично в доме 3 точки доступа) и сопоставляю их с уже созданными серверами
2) Прога при обнаружении сети из списка (Проверка перез запуском приложения) загружает автоматом нужный сервер.

Зачем это все?
1) Тем, у кого 2 сервера, например дача и дом, чтобы не тыкать вручную
2) Тем, у кого настроен внешний доступ, как у меня. Т.е. если я дома, я использую локальный IP для доступа, а если на работе - DynDNS или keenetic.pro и часто бывает, что сначала я вижу ошибку страница не найдена, а уже потом переключаюсь. К тому же, объяснить все это супруге немного сложно =), а тут за нее все будет делать приложение...
За это сообщение автора SmoKE_xDDD поблагодарил:
hc2hunter (Пн янв 20, 2020 3:29 pm)
Рейтинг: 1.16%
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Пн янв 20, 2020 3:29 pm

Мысль понятна, будем заниматься.
Правда, сразу замечу, что начиная с Android 8 будут сложности с определением имени точки доступа (SSID) если выключена геолокация
(спасибо гуглу за то что так "заботится" о нас).
За это сообщение автора hc2hunter поблагодарил:
SmoKE_xDDD (Пн янв 20, 2020 3:34 pm)
Рейтинг: 1.16%
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 898 раз

Re: [Приложение] мой MjDM (Android)

Сообщение SmoKE_xDDD » Пн янв 20, 2020 3:34 pm

hc2hunter писал(а):
Пн янв 20, 2020 3:29 pm
Мысль понятна, будем заниматься.
Правда, сразу замечу, что начиная с Android 8 будут сложности с определением имени точки доступа (SSID) если выключена геолокация
(спасибо гуглу за то что так "заботится" о нас).
Самое простое решение, просто запинговать 192.168.1.1 или любой другой локальный IP (Указанный в настройках) :idea:
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Пн янв 20, 2020 3:35 pm

И как это поможет в определении SSID ? :)
Или вы думаете это самый простой способ задетектить факт WiFi подключения? А если на телефоне поднят VPN или его аналог?
Аватара пользователя
SmoKE_xDDD
Сообщения: 816
Зарегистрирован: Ср апр 17, 2019 5:00 pm
Откуда: Нижний Новгород
Благодарил (а): 110 раз
Поблагодарили: 898 раз

Re: [Приложение] мой MjDM (Android)

Сообщение SmoKE_xDDD » Пн янв 20, 2020 3:38 pm

hc2hunter писал(а):
Пн янв 20, 2020 3:35 pm
И как это поможет в определении SSID ? :)
Или вы думаете это самый простой способ задетектить факт WiFi подключения?
Да не подумал про ВПН =(

Если(Пинг(192.168.1.1) == Да) {
Вы дома
}
Это скорее как костыль для реализации:
2) Тем, у кого настроен внешний доступ, как у меня. Т.е. если я дома, я использую локальный IP для доступа, а если на работе - DynDNS или keenetic.pro и часто бывает, что сначала я вижу ошибку страница не найдена, а уже потом переключаюсь. К тому же, объяснить все это супруге немного сложно =), а тут за нее все будет делать приложение...
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Пн янв 20, 2020 3:41 pm

Да нет, костыли в виде пингов тут ни к чему...
И, собственно, почему вы решили, что 192.168.1.* - это вы именно дома? На работе, в гостях или в торговом центре не может быть локалки 192.168.1.* ? и уж тем более не может быть шлюза .1.1?:)

SSID текущей точки доступа получается совсем иным образом - из самой операционной системы.

Вообще, задача интересная и не самая тривиальная, т.к. вся эта "вафельная" организация во всех операционках весьма костыльная, корявая, и т.п... (будь то Windows или Linux - тараканов там хватает).
Но будем реализовывать. Завтра начну эксперименты.
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Пн янв 20, 2020 5:08 pm

SmoKE_xDDD, поковырялся на скорую руку...
Кое-что уже получается. Даже уже определяю точку к которой подключен :)
Завтра буду писать обвязки интерфейса и запрос прав доступа (в Android 8.0 и выше требуются права на функцию ACCESS_COARSE_LOCATION, иначе имена сетей не возвращаются из соображений безопасности).

Сначала думал выводить списком имена сетей, чтобы можно было выбрать нужные для конкретного сервера, но, похоже, с этим связан ряд сложностей. В частности, если часть сетей невидна в данной зоне приема, пользователю придется ходить по всем точкам и собирать их в список... Также сюда накладывается необходимость сортировать скрытые SSIDы и точки с одинаковыми названиями (инфраструктуры типа WDS).
Возможно, действительно, на первом этапе сделать простую возможность перечислять имена точек именно вручную. А там посмотрим...
За это сообщение автора hc2hunter поблагодарили (всего 2):
SmoKE_xDDD (Пн янв 20, 2020 5:17 pm) • Garik908 (Пн янв 20, 2020 5:49 pm)
Рейтинг: 2.33%
Аватара пользователя
hc2hunter
Сообщения: 507
Зарегистрирован: Сб дек 02, 2017 10:45 am
Откуда: RUS
Благодарил (а): 228 раз
Поблагодарили: 348 раз

Re: [Приложение] мой MjDM (Android)

Сообщение hc2hunter » Вт янв 21, 2020 5:17 pm

В общем-то, кое-что уже реализовал...
Это будет дополнительный раздел настроек у сервера:
картинкаПоказать
device-2020-01-21-170614.png
device-2020-01-21-170614.png (80.22 КБ) 2510 просмотров

Вопросы и предложения:
  1. Как должна себя вести программа при попадании в зону обозначенной WiFi точки? Просто тупо спрыгивать на этот сервер?
  2. Как следствие второй вопрос - как должна себя вести программа, если пользователь возьмет и поменяет потом сервер на другой? Ну вот вдруг ему что-то понадобилось посмотреть и он ушел с сервера, на который его принудительно скинули. Нужно остаться на этом сервере или опять принудительно спрыгнуть назад при следующем сканировании эфира (Android это делает примерно раз в пару минут, как повезет)?
  3. Можно попробовать расширить функционал, добавив сюда поле с альтернативным адресом сервера. Скажем, если вы попали в зону точки, которая локальна с самим сервером - пусть и ходит на него по указанному (локальному) адресу?
Ответить