[Приложение] мой MjDM (Android)
Модератор: immortal
- SmoKE_xDDD
- Сообщения: 816
- Зарегистрирован: Ср апр 17, 2019 5:00 pm
- Откуда: Нижний Новгород
- Благодарил (а): 110 раз
- Поблагодарили: 898 раз
Re: [Приложение] мой MjDM (Android)
Спасибо, переключение сервера по вайфай очень хочется =)
- За это сообщение автора SmoKE_xDDD поблагодарил:
- hc2hunter (Пн янв 20, 2020 3:14 pm)
- Рейтинг: 1.16%
- hc2hunter
- Сообщения: 507
- Зарегистрирован: Сб дек 02, 2017 10:45 am
- Откуда: RUS
- Благодарил (а): 228 раз
- Поблагодарили: 348 раз
Re: [Приложение] мой MjDM (Android)
Да помню я...
Вы хотите, чтобы в зависимости от точки доступа сервер становился именно приоритетным (первым в списке), или чтобы просто программа переключалась на него (выводила на передний план)?
Вы хотите, чтобы в зависимости от точки доступа сервер становился именно приоритетным (первым в списке), или чтобы просто программа переключалась на него (выводила на передний план)?
- SmoKE_xDDD
- Сообщения: 816
- Зарегистрирован: Ср апр 17, 2019 5:00 pm
- Откуда: Нижний Новгород
- Благодарил (а): 110 раз
- Поблагодарили: 898 раз
Re: [Приложение] мой MjDM (Android)
Да я верю, что помните =)
Да, смотрите, как я себе это вижу:
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)
Мысль понятна, будем заниматься.
Правда, сразу замечу, что начиная с Android 8 будут сложности с определением имени точки доступа (SSID) если выключена геолокация
(спасибо гуглу за то что так "заботится" о нас).
Правда, сразу замечу, что начиная с 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)
Самое простое решение, просто запинговать 192.168.1.1 или любой другой локальный IP (Указанный в настройках)
- hc2hunter
- Сообщения: 507
- Зарегистрирован: Сб дек 02, 2017 10:45 am
- Откуда: RUS
- Благодарил (а): 228 раз
- Поблагодарили: 348 раз
Re: [Приложение] мой MjDM (Android)
И как это поможет в определении SSID ?
Или вы думаете это самый простой способ задетектить факт WiFi подключения? А если на телефоне поднят VPN или его аналог?
Или вы думаете это самый простой способ задетектить факт WiFi подключения? А если на телефоне поднят VPN или его аналог?
- SmoKE_xDDD
- Сообщения: 816
- Зарегистрирован: Ср апр 17, 2019 5:00 pm
- Откуда: Нижний Новгород
- Благодарил (а): 110 раз
- Поблагодарили: 898 раз
Re: [Приложение] мой MjDM (Android)
Да не подумал про ВПН =(
Если(Пинг(192.168.1.1) == Да) {
Вы дома
}
Это скорее как костыль для реализации:
2) Тем, у кого настроен внешний доступ, как у меня. Т.е. если я дома, я использую локальный IP для доступа, а если на работе - DynDNS или keenetic.pro и часто бывает, что сначала я вижу ошибку страница не найдена, а уже потом переключаюсь. К тому же, объяснить все это супруге немного сложно =), а тут за нее все будет делать приложение...
- hc2hunter
- Сообщения: 507
- Зарегистрирован: Сб дек 02, 2017 10:45 am
- Откуда: RUS
- Благодарил (а): 228 раз
- Поблагодарили: 348 раз
Re: [Приложение] мой MjDM (Android)
Да нет, костыли в виде пингов тут ни к чему...
И, собственно, почему вы решили, что 192.168.1.* - это вы именно дома? На работе, в гостях или в торговом центре не может быть локалки 192.168.1.* ? и уж тем более не может быть шлюза .1.1?:)
SSID текущей точки доступа получается совсем иным образом - из самой операционной системы.
Вообще, задача интересная и не самая тривиальная, т.к. вся эта "вафельная" организация во всех операционках весьма костыльная, корявая, и т.п... (будь то Windows или Linux - тараканов там хватает).
Но будем реализовывать. Завтра начну эксперименты.
И, собственно, почему вы решили, что 192.168.1.* - это вы именно дома? На работе, в гостях или в торговом центре не может быть локалки 192.168.1.* ? и уж тем более не может быть шлюза .1.1?:)
SSID текущей точки доступа получается совсем иным образом - из самой операционной системы.
Вообще, задача интересная и не самая тривиальная, т.к. вся эта "вафельная" организация во всех операционках весьма костыльная, корявая, и т.п... (будь то Windows или Linux - тараканов там хватает).
Но будем реализовывать. Завтра начну эксперименты.
- hc2hunter
- Сообщения: 507
- Зарегистрирован: Сб дек 02, 2017 10:45 am
- Откуда: RUS
- Благодарил (а): 228 раз
- Поблагодарили: 348 раз
Re: [Приложение] мой MjDM (Android)
SmoKE_xDDD, поковырялся на скорую руку...
Кое-что уже получается. Даже уже определяю точку к которой подключен
Завтра буду писать обвязки интерфейса и запрос прав доступа (в Android 8.0 и выше требуются права на функцию ACCESS_COARSE_LOCATION, иначе имена сетей не возвращаются из соображений безопасности).
Сначала думал выводить списком имена сетей, чтобы можно было выбрать нужные для конкретного сервера, но, похоже, с этим связан ряд сложностей. В частности, если часть сетей невидна в данной зоне приема, пользователю придется ходить по всем точкам и собирать их в список... Также сюда накладывается необходимость сортировать скрытые SSIDы и точки с одинаковыми названиями (инфраструктуры типа WDS).
Возможно, действительно, на первом этапе сделать простую возможность перечислять имена точек именно вручную. А там посмотрим...
Кое-что уже получается. Даже уже определяю точку к которой подключен
Завтра буду писать обвязки интерфейса и запрос прав доступа (в 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)
В общем-то, кое-что уже реализовал...
Это будет дополнительный раздел настроек у сервера:
Вопросы и предложения:
Это будет дополнительный раздел настроек у сервера:
картинкаПоказать
Вопросы и предложения:
- Как должна себя вести программа при попадании в зону обозначенной WiFi точки? Просто тупо спрыгивать на этот сервер?
- Как следствие второй вопрос - как должна себя вести программа, если пользователь возьмет и поменяет потом сервер на другой? Ну вот вдруг ему что-то понадобилось посмотреть и он ушел с сервера, на который его принудительно скинули. Нужно остаться на этом сервере или опять принудительно спрыгнуть назад при следующем сканировании эфира (Android это делает примерно раз в пару минут, как повезет)?
- Можно попробовать расширить функционал, добавив сюда поле с альтернативным адресом сервера. Скажем, если вы попали в зону точки, которая локальна с самим сервером - пусть и ходит на него по указанному (локальному) адресу?