多年来,Snapchat在Android设备上一直存在问题。这些问题主要包括性能问题和高数据使用率。最近,该应用在启动时也在Android设备上崩溃,但出现了另一个非常烦人的问题。根据Reddit上的用户说,如果您通过手机的扬声器在通话结束时听到一声巨响,则可能是Snapchat引起的。通过禁用对Snapchat应用的电话许可,可以解决此问题。

在分析为什么Snapchat首先使用此权限的过程中,我在他们自己的应用程序中找到了解释。但是,为什么当我们禁用电话许可时,蜂鸣声会消失吗?如果仅在注册时用于自动填充您的电话号码,为什么保留启用权限会导致其他问题?我决定获取一些系统日志,分析dmesg和logcat以查看是否可以找到任何东西。dmesg是自启动以来的内核日志,而logcat是自启动以来的系统日志。Dmesg处理SELinux拒绝,CPU更改,音频输出等,而logcat包含设备上运行的应用程序的日志。Logcat还包括权限拒绝和系统拒绝。
正如我所怀疑的,dmesg基本上是空的。我不认为这会否决SELinux。我在logcat中发现的内容更有趣。我最初以为这个问题可能不是由Snapchat本身引起的,它可能与一些声称此问题无法解决提示音的用户有关。相反,我认为它与系统拒绝“ READ_PRIVILEGED_PHONE_STATE”权限同时发生。挂断电话后,请参阅下面的日志。
如您所看到的以橙色突出显示的,Snapchat被拒绝了“ READ_PRIVILEGED_PHONE_STATE”权限。我以为这可能是问题所在,但是当我禁用电话权限时,出现了同样的错误。我在这里陷入僵局,启用或禁用权限的日志之间没有区别。有趣的是,Android Wear也有类似的要求,如屏幕截图所示,但我认为它没有任何作用。
总体而言,我无法确定问题的原因,而调查仅使我在启用和禁用权限之间找到了相同的日志。禁用电话许可 确实可以解决问题,但是调查导致我无法得出任何结论。如果有人知道为什么可以解决此问题,请让我知道,但是现在希望这应该在每次电话结束时停止发出烦人的哔哔声。

