Как выбрать приложение, чтобы программно разрешать фиктивные местоположения на Marshmallow?

До Marshmallow параметр «Разрешить фиктивные местоположения» можно было изменить программно (требуется root)

Settings.Secure.putInt(getContentResolver(),Settings.Secure.ALLOW_MOCK_LOCATION, 1);

Но теперь этот параметр зависит от приложения, что означает, что вам нужно выбрать приложение-мокер в параметрах разработчика.

Есть ли способ изменить эти настройки (вставить мое приложение в список разрешенных) программно?


person blackkara    schedule 14.08.2016    source источник


Ответы (1)


Нет, нет способа предоставить доступ для установки приложения для фиктивного местоположения по умолчанию. Максимум, что вы можете сделать, это отобразить уведомление пользователю при первом открытии приложения, дав ему инструкции о том, как это сделать через настройки.

Обратите внимание, что для этого пользователю не требуется корневой доступ, а скорее доступ для разработчиков. Это позволяет вам установить приложение для фиктивного местоположения по умолчанию.

Даже в лучших приложениях для определения местоположения на рынке это не реализовано по умолчанию. Надеюсь это поможет :)

--РЕДАКТИРОВАТЬ--

Тем не менее, есть способ упростить доступ пользователя. Вы можете указать пользователю на фактический экран, где установлено приложение фиктивного местоположения, используя приведенный ниже код:

startActivity(new Intent(android.provider.Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS));

Это указывает пользователю на экран, на котором установлено приложение для имитации местоположения.

person Michele La Ferla    schedule 16.08.2016
comment
Во-первых, вы меня огорчили :) Но технически мы допустим, что приложение находится в системном разделе рутированного устройства. И мы знаем, что информация о приложении для фиктивного местоположения по умолчанию хранится где-то (settings.db?), Поэтому после этого момента мы не можем установить приложение для фиктивного местоположения по умолчанию? - person blackkara; 16.08.2016
comment
Переадресация пользователя в настройки разработчика - известная вещь, поэтому в вашем отредактированном ответе меня ничего не удивляет, и ничто не относится к моему комментарию в отредактированном ответе. - person blackkara; 17.08.2016