2016-07-22 8 views

ответ

0

Если по

динамически

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

Прежде чем отправлять туда пользователей, вы можете обнаружить, действительно ли макетные местоположения включены. Для уровня API < 18 это делается с флагом Settings.Secure, для> = 18 вы можете использовать только что введенный Location.isFromMockProvider(). Я написал небольшой вспомогательный класс, который будет надежно обнаруживать фиктивные местоположения на все последние (некорневых) Android устройств:

LocationAssistant - Hassle-free location updates on Android

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

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