我有一个前台服务,我偶尔会播放一个声音。现在我需要确定是否有正在进行的电话取消我的声音。我所做的是一个phonestate监听器,但我需要一个READ_PHONE_STATE权限,我要求它,因为它在文档中描述。因此,在Android M或更高版本上,用户可以启动应用程序,允许权限,然后去设置拒绝它。我测试了这种情况,导致我的服务崩溃。那么,有什么方法可以检测服务中运行时服务中允许拒绝的权限更改? 我在这里看到一些人说如果用户更改权限,应用程序会重新启动,但只有服务正在运行时才会发生这种情况。
编辑:感谢CommonsWare评论,我已经完成了另一项检查,并且可以确认如果权限更改,前台服务也会重新启动。