2016-07-18 2 views
0

Я хочу включить/отключить службы определения местоположения для своего приложения, но не запрашивать у пользователя его включение, если оно отключено. Все примеры, которые я видел, требуют отображения некоторого диалога. Это кажется бессмысленным, учитывая, что пользователь уже разрешил использовать службы определения местоположения.Включить службы определения местоположения в Android без какого-либо диалога

+0

В каком диалоговом окне вы указываете? Диалоговое окно разрешения, отображаемое при запуске программы Marshmallow +? – SlashG

+0

у вас/вашего приложения нет разрешения на это, просто потому, что пользователь предоставил доступ, это не значит, что они не могут отменить этот доступ в более поздний момент времени. – tyczj

+1

Но пользователь может не захотеть включить его _now_. Из того, что я видел, службы определения местоположения используют больше батареи и, возможно, мобильные данные, и пользователь может быть низким на обоих/обоих. – TripeHound

ответ

4

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

К счастью, это невозможно на обычных устройствах по очевидным причинам неприкосновенности частной жизни, за исключением некоторых ошибок в Android (или конкретных моделях устройств). Системные приложения могут это сделать, и это должно быть возможно на корневых устройствах, хотя у меня нет деталей для любого сценария.

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

До Android 6.0 пользователи на обычных устройствах Android не могли управлять разрешениями индивидуально. В результате они могут отключить службы определения местоположения, чтобы иметь возможность использовать приложения, которые запрашивают местоположение.

Даже на Android 6.0+, только потому, что пользователь, которому разрешено использовать ваше приложение для использования местоположений, не означает, что пользователь хочет, чтобы данные о местоположении были доступны все время. Они могут только хотеть, чтобы местоположения были доступны приложениям в определенное время (например, во время поездок и необходимости в информации о местоположении). Или, как отметил комментатор, пользователь может отключать места по соображениям власти, а не по конфиденциальности.

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

Это необходимо будет отдельная возможность с отдельным разрешением (например, некоторым разрешением MANAGE_LOCATION_PROVIDERS) или, возможно, быть частью API-интерфейсов владельцев устройств/устройств. Конечно, вы можете подать заявку на эту функцию.

запрос не должно быть необходимым, если разрешение было предоставлено

разрешений для доступа к данным местоположения делать не предполагает разрешение на переопределять Enabled/Disabled настройки пользователя для провайдеров определения местоположения. Если бы это было так, то не было бы места, когда провайдеры могут быть отключены.

Смежные вопросы