我正在使用不需要位置服务的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
答案 0 :(得分:0)
一种停止记录的方法是告诉TwilightManager不要使用夜间模式:
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
这可以从您的第一个活动开始运行。
或者,您可以看到TwilightManager为何首先认为它需要为您做任何事情。检查您的styles.xml
。您有 daynight 主题吗?
<style name="CommonTheme" parent="Theme.AppCompat.DayNight.DarkActionBar">
您可能会考虑其他选择。