如何关闭TwilightManager日志记录

时间:2019-03-21 22:12:00

标签: android location location-services

我正在使用不需要位置服务的Android应用,并且我不想添加该权限。

当我在物理设备(装有Android 8.1.0的Moto G5 Plus)上进行测试时,我在Logcat中看到以下重复出现的广告恶心:

  

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 :(得分:0)

一种停止记录的方法是告诉TwilightManager不要使用夜间模式:

AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)

这可以从您的第一个活动开始运行。

或者,您可以看到TwilightManager为何首先认为它需要为您做任何事情。检查您的styles.xml。您有 daynight 主题吗?

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

您可能会考虑其他选择。