Как отключить ведение журнала TwilightManager - PullRequest
1 голос
/ 22 марта 2019

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

Пока я тестирую на своем физическом устройстве (Moto G5 Plus с Android 8.1.0), я вижу в Logcat следующее повторение ad nauseam:

TwilightManager: Не удалось получить последнее известное местоположение. Вероятно, это связано с тем, что у приложения нет разрешений на размещение. Возвращаясь к жестко закодированным значениям восхода / заката.

Я не хочу этого, мне это не нужно. Я не могу понять, как от этого избавиться.

android.support.v7.app.TwilightManager.isNight() явно вызывается чем-то, но я не уверен, как сказать, чтобы он не продолжал звонить.

Я пытался несколько получить системный сервис , но не нашел секретного рукопожатия. Кроме того, TwilightManager является частным.

getBlahBlahService(android.support.v7.app.TwilightManager.class);  
//'android.support.v7.app.TwilightManager' is not public in 'android.support.v7.app'. Cannot be accessed from outside package    

1 Ответ

0 голосов
/ 23 марта 2019

Один из способов остановить ведение журнала - сказать TwilightManager не использовать ночной режим:

AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)

Это можно запустить из вашего первого действия.

В качестве альтернативыВы могли понять, почему TwilightManager считает, что он должен что-то для вас сделать.Проверьте свой styles.xml.Есть ли у вас какие-нибудь дневные темы?

<style name="CommonTheme" parent="Theme.AppCompat.DayNight.DarkActionBar">

Вы могли бы рассмотреть альтернативы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...