Gps Icon | Индикация состояния GPS (поиск спутников/фикс/потеря фикса) там, где с



Реп: (156)
Gps Icon
версия: 1.4.6

Последнее обновление программы в шапке: 11.04.2019

Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение


Краткое описание:
Индикация состояния GPS (поиск спутников/фикс/потеря фикса).

Описание:
В lollipop стоковая индикация GPS горит постоянно при использовании gps и нет возможности узнать, когда происходит фикс и потеря сигнала от спутников. Для тех, кто время от времени включает карту с целью узнать свою позицию, это доставляет определенные неудобства, ведь непонятно старую или уже новую позицию показывает карта.
Неизвестно почему разработчики андроида решили сделать так, но известно, что они не собираются ничего менять. Модуль Xposed GPSNotification, который призван вернуть прежнее состояние индикатора, вызывает крах лаунчера или полный крах системы в lollipop, а его автор забил на разработку. Сам я нисколько не андроид-разработчик, но не найдя ничего путного, пришлось самому писать хоть какое то решение.
Программа добавляет собственную иконку в область уведомлений (индикатор взят с JB), которая мигает при потере фикса, а также предоставляет информацию о найденных/используемых спутниках.

Примечание к установке
В android 6 и выше используются так называемые "runtime permissions". Для них всплывает уведомление в статусбаре о необходимости дать разрешение. Но если установить, открыть gui (получив запрос в статусбаре) и ткнуть в чебкокс, то запрос разрешений пропадет из статусбара. Конечно он появится при следующей смене состояния програмы, ребута, gps, но со старта может сбить с толку "ничего не работает и не спрашивает".
Поэтому при проблемах рекомендуется выключить и включить gps и дать разрешение.

FAQ

Установил, но ничего не работает
Может мешать встроенный менеджер разрешений. У меня пока не появится диалоговое окно "разрешить доступ к gps" тоже ничего не работает, даже если вручную разрешить доступ к gps. Реинсталл, передергивание gps и запуск любой другой программы, которой нужен gps, помогает.

Сильно ли садит батарею?
Программа сама не эксплуатирует gps, а подписывается на так называемый PROVIDER_PASSIVE, который уведомляет об использовании GPS другими программами. Также для экономии сообщение нотификации меняется только если данные изменились.

Программа перестала работать
Программа подписывается на события "gps вкл/выкл" для старта и остановки сервиса слежения. В некоторых системах после убийства программы тасккиллером система перестает слать сообщения. Но это уже кривизна самих систем. В нормально работающем android сообщения рассылаются, даже если целевая программа не запущена.

Исходный код?
тут



Требуется Android: 4.4 - 9.0
Русский интерфейс: Да

Разработчик: Laptodon

Скачать: версия: 1.4.6 (KitKat+)
Прикрепленный файлGpsIcon1.4.6.apk ( 41.42 КБ )


что нового в 1.4.6?
Убрал oreo-зависимый код и собрал с меньшей версией sdk с целью обхода ограничений фоновых сервисов в oreo

Прошлые версии
версия 1.4.3 (KK+)
Один apk для всех андроидов
Работоспособность в andoid 8 (O)
Прикрепленный файлGpsIcon1.4.3.apk ( 41.5 КБ )


версия 1.4.2 (KK+)
понизил minSdkVersion до 19
Прикрепленный файлGpsIcon1.4.2.apk ( 39.38 КБ )


версия 1.4.1 (Lollipop+)
Исправлено залипание иконки поиска при выключении gps на некоторых прошивках.
Прикрепленный файлGpsIcon1.4.1.apk ( 39.38 КБ )


версия 1.4 (Lollipop+)
-Иконка состояния network/gps-геолокации
Прикрепленный файлGpsIcon1.4.apk ( 41.27 КБ )


версия 1.3
Версия для android 6+.
Поддержка "runtime permissions" из android 6
(Результат попыток лечения неработоспособности версии 1.2 на очень упертом экземпляре marshmallow. Также пришлось делать системным - не работало после ребута без этого.)
Прикрепленный файлGpsIcon1.3(MM).apk ( 39.42 КБ )


версия 1.2
- возможность быстрого переключения типа иконки через нотификацию в статусбаре
- возможно поддержка android 6 (на эмуляторе запускается, но полную работу проверить невозможно) по отзывам работает. У меня работает на AOSP, но не работает на CM (вернее оно работает в точном соответствии с иконкой стока в 6.х, а в cm gps иконка горит даже если никто gps не просит(может быть особенность сборки))
- исправление недоработок.
Прикрепленный файлGpsIcon1.2.apk ( 38.38 КБ )


версия 1.1
- добавил в автозагрузку. Без этого при перезагрузки включенный gps рестартует, а сервис индикатора нет.
- дополнительный цифровой индикатор. показывает иконкой (не нужно дергать шторку) количество видимых спутников и состояние (поиск и фикс).
- возможность выбрать индикатор. После выбора нужно переключить gps.
Прикрепленный файлGpsIcon1.1.apk ( 37.44 КБ )


версия 1.0.1
- если сервис был убит намертво пользовательским таскиллером, то выключение gps уберет зависшую иконку из статусбара
- если сервис убила система из-за нехватки памяти, то он будет перезапущен автоматически
- убрал "hello world" из окна программы
Прикрепленный файлGpsIcon1.0.1.apk ( 14.88 КБ )
Прикрепленный файлGpsIcon1.0.1_nonUI.apk ( 14.77 КБ )


версия 1.0
Прикрепленный файлGpsIcon1.0.apk ( 14.93 КБ )
Прикрепленный файлGpsIcon1.0_nonUI.apk ( 14.81 КБ )



Сообщение отредактировал Laptodon - 06.07.21, 17:42
Причина редактирования: верхняя граница версии андроид.



Реп: (0)
Спасибо, работает. :thank_you:



Реп: (156)
Новая версия 1.0.1. Сделал сервис чуть более живучим (для смартфонов с нехваткой памяти) и возможность убрать зависшую иконку.

По поводу инсталла. Лично у меня, пока не появится вот такой вот диалог
Прикрепленное изображение

ничего не работает, даже если руками выдать разрешения везде где можно. Приходится выключать gps, переставлять, передергивать gps и появляется оно только на gui-версии.

Может кому и поможет это знание.



Реп: (9)
На Asus MEMO Pad 7 me572cl иконка не появляется, информации нет. А задумка очень интересная и нужная.

Сообщение отредактировал radar-ru - 08.02.16, 20:39



Реп: (156)
Выложил новую версию. Полезно для тех, у кого не сильно быстро ищет спутники, но хочет видеть прогресс.
Иконка простая - число в квадрате, чтобы глаза не портить.

Ну и автозагрузка, чтобы после перезагрузки сервис восстанавливался, когда он нужен.

* radar-ru,
У меня нет никаких мыслей почему так происходит. Программа просто подписывается на события андроида и список ожидаемых проблем короткий:
1 система не шлет уведомлений, потому что программа не была ни разу запущена (особенность безопасности андроида)
2 система не шлет уведомлений про gps. Всякие там менеджеры разрешений (родной/xprivacy/LBE Security Master/...).
3 не дает показать иконку. Как и в пункте 2 у программы может быть выключен показ уведомлений (настраивается в приложениях-информация о программе) или блокироваться (GravityBox так может и не только он)

Если что-то другое...я не знаю как это задетектить и чинить (



Реп: (9)
Версия 1.1 - отлично. 5+. Теперь все работает - и иконка в статус-баре, и уведомления в выпадающей "шторке" сообщений. Минимализм и информативность - ничего лишнего. Немного не разобрался с возможностью выбора индикатора. В любом варианте выбора - "мигающий индикатор" или "цифровой индикатор", цифровое значение в статус-баре и в "шторке" мигает. По поводу дизайна иконки - строгий квадрат без "закругленных" углов выглядел бы на мой взгляд более классически. Будет ли дальнейшее развитие функционала программы.



Реп: (156)
radar-ru @ 09.02.2016, 18:11 *
цифровое значение в статус-баре и в "шторке" мигает.

вот этого не понял. Шторка рисует ту же иконку, что и статус бар. И индикатор и его состояние (мигание) одинаково в обоих местах. Если не меняется иконка - после смены индикатора нужно передернуть gps, потому что иконка выбирается при старте сервиса, который стартует при старте gps.

radar-ru @ 09.02.2016, 18:11 *
Будет ли дальнейшее развитие функционала программы.

Вряд ли. Там просто нечего развивать..... разве что индикатор поменять, но большая цифра на реальном телефоне оказалась лучше для глаз чем "уровень сигнала gps в капле" и тому подобное.

radar-ru @ 09.02.2016, 18:11 *
строгий квадрат без "закругленных" углов выглядел бы на мой взгляд более классически

На вкус и цвет. Я вообще хотел, чтобы было сразу видно, что это gps, а не "неведомо чья цифра". Но придумать удобного для глаз не удалось. А иконка в андроиде - набор из картинок для каждого момента анимации, рисовать утомительно.
Однако если вас не пугает рутина, то я могу дать заготовку и вы себе сделаете за полчаса сет картинок с прямыми углами. и я сделаю отдельный билд для вас.



Реп: (9)
С переключение типа индикатора теперь понятно - я просто не "передергивал" gps. Не понял термин "переключить gps". Дальнейшее развитие функционала - индикация gps при загрузке самой программы Gps Icon. Цитата : "Однако если вас не пугает рутина, то я могу дать заготовку и вы себе сделаете за полчаса сет картинок с прямыми углами" - рутина не пугает, можно попробовать.



Реп: (156)
radar-ru @ 09.02.2016, 20:30 *
индикация gps при загрузке самой программы Gps Icon

для чего?

по поводу иконок стучите в личку.



Реп: (3)
Добрый День!
На HomTom HT3 работала идеально. Сейчас взял Xiaomi Redmi 4X ни 1.2 ни 1.3 в верхней строчки не показывает. Только когда стягиваешь бар вниз, как на первом фото в шапке темы. система андроид 7



Реп: (3)
Вот скрины с экрана. В строке состояния не отображается, а только когда стягиваешь шторку вниз, тогда видно количество спутников((

Прикрепленные изображения
Прикрепленное изображение
Прикрепленное изображение



Реп: (68)
Ни эта ли прога при включение таксометра (иконка ее тоже появляется в строке состояния) сама ставит галку: По всем источникам ЖПС ?
Устал возвращать обратно галку в Местоположение на: Только по ЖПС

Сообщение отредактировал rublik2009 - 12.01.18, 00:47



Реп: (156)
* rublik2009,
Ну сама программа ничего не ставит. Она всего лишь просит доступ к геолокации и пассивно подписывается. И судя по манифесту только к gps и просится.

ps: Лично у меня сбрасывается на "по всем источникам" при выключении-включении gps, даже если эту софтину удалить. А если обновления гуглсервисов сделать системными, то будет постоянно задалбывать вопросами "нужно разрешить отправку геоданных". Мистика.



Реп: (61)
* Laptodon,
На моем девайсе с Андроид 6.01, при подключении геолокации, вообще нет иконки в строке состояния о её подключении. Она появляется только при включении какой либо навигационной проги. После отключения навигации иконка исчезает, но сама геолокация продолжает работать и это самое противное, т.к. часто ЗабываешЬ её выключить и зря садишь аккумулятор.
Перерыл весь инет в поисках решения по активации иконки Gps, в строке состояния, при её включении, но ничего не нашел. Попробовал ваше приложение, оно добавляет удобство пользования, но тоже иконка Gps и иконка вашего приложения исчезают после отключения навигационной программы. Как бы добавить опцию чтобы ваша иконка оставалась в строке состояния, пока включена геолокация?

Сообщение отредактировал pin1000 - 25.01.18, 05:23



Реп: (156)
* pin1000,
Угу. Оно следит за реальной активностью определения местоположения и исключительно gps. А так google-сервисы могут периодически опрашивать местоположение по вайфай или gsm, чего программа не видит.
Оно, в моем случае, особо не жрет, но я не считаю плохой идеей добавить подобный функционал. Только нужно определиться с дежурной иконкой, которая будет гореть при включенной геолокации.



Реп: (61)
* Laptodon,
Вы знаете, лучше конечно штатная иконка, но достаточно и вашей,самое главное, чтобы была иннформация о включении. Удобно же отслеживать иконку wi fi и остальные подключения.

Сообщение отредактировал pin1000 - 25.01.18, 05:53



Реп: (156)
* pin1000,
Для дежурного статуса нужно что-то свое.
Для мигающего круга нормально:
дежурный режим - пустой круг
ищем спутники - мигаем
фикс - кружок заполнен
А для числовой иконки в дежурном режиме нечего показать. хотя можно ту же иконку "пустой круг".
но системная имхо плохо подходит. - мозг будет ломаться от "там капля есть, а там нет".

pin1000 @ 25.01.18, 05:52 *
Удобно же отслеживать иконку wi fi и остальные подключения.

так они расположены справа. А я не могу туда свою иконку поместить. А значит гореть постоянно будет только слева не меняя того, что справа.



Реп: (61)
* Laptodon,
Я это понял,что слева, но это гораздо лучше чем ничего. Строка состояния на смарте не велика, хватает взгляда её быстро, " в один взгляд"осмотреть. Решения о выводе иконки Gps в статус бар, при включении этой функции я не нашел, перерыв весь инет. Не сомневаюсь, что у многих востребовано.



Реп: (344)
Laptodon @ 31.01.16, 17:29 *
В lollipop стоковая индикация GPS горит постоянно при использовании gps и нет возможности узнать

Это зависит вовсе не от версии андроид а от программы которая находится в прошивке вашего устройства. На моём старом Samsung SM-G530H Galaxy Grand Prime андроид 5.01 (штатный) индикатор работает как положено мигает при поиске спутников и при потере и не мигает при фиксе. На новом Xiaomi Redmi Note 4 3/32 индикатор появляется но узнать есть фикс или нет не показывает. К сожалению ваша программка тоже оказалась безполезной. Иконка программы пояляется но информацию о состоянии модуля не даёт.



Реп: (156)
shelnik @ 14.03.18, 09:45 *
не от версии андроид
Увы, но именно от версии андроид. Начиная с KitKat у гугла появились "новые веяния" в дизайне, такие как белые иконки и немигающая иконка gps в разделе системных иконок права (не путать с android 4.2, где она мигает слева).

Я думал, что это глюк, поэтому начал искать.
1. Посмотрел исходники systemUI и не нашел кода мигания иконки
2. Нашел переписку с гуглом , где они ответили, что это не глюк, а by design теперь
3. Модуль Xposed GPSNotification просто так не писали бы.

А то, что некоторые вендоры наворачивают свой GUI и попутно меняют и поведение иконки, то это исключение, но в "андроид от гугл" ничего не мигает.

shelnik @ 14.03.18, 09:45 *
Xiaomi Redmi Note 4 3/32
miui. с ним проблемы. непонятные проблемы. то иконки не видно, то иконка не может менять состояния, то еще что нибудь в виде убийства сервисов. miui у меня нет, на эмуляторах его нет (да и эмулятор бесполезен при разработке этой программы)- так что без понятия что там миуи надо, я ведь делаю базовые вещи по гайдам гугла.
у меня только догадки.
- не получены права. у меня прописаны права только в манифесте и я специально не использовал всякие AppCompat, при котором из за одноразовой проверки размер apk раздувает в 10 раз. Из-за этого вот у некоторых не работало и я сделал для них версию 1.3 для теста, в которой разница только в запросе прав как они там по новому в MM. Попробуйте 1.3. Некоторым помогало сделать системным.
- умирает сервис. Для показа "gps активен" сервис не нужен, а для работы нужен. miui славится тем, что любит убивать сервисы
- может ему иконки не по душе. Я сделал один размер для себя и по гайдам гугла она вроде бы должна растягиваться, а миуи может нужно именно для его разрешения.



Реп: (344)
Laptodon @ 14.03.18, 11:18 *
Увы, но именно от версии андроид. Начиная с KitKat

При чём тут андроид. Прога которая заставляет иконку мигать находится не в андроид а прошивке смартфона, как раз по этой причине она и в эмуляторе не мигает.
У меня 2 смартфона и один планшет все Samsung, на первом Android 2.3 на планшете сейчас Android 4.4 (KitKat) до обновления стоял 4.3 на третьем стоял до обновления (KitKat) сейчас (lollipop) на всех иконка GPS как раньше мигала до фикса так и сейчас мигает. Я доказывать вам ни чего не буду у меня просто времени на это нет. Мне проще самому такую утилитку написать. Мне это только для теста нужно было но уже обойдусь.


Полная версия   Текстовая версия

Помощь   Правила

Сейчас: 29.03.24, 01:04