Android-我的服务运行时权限已更改

Android-我的服务运行时权限已更改,android,android-permissions,runtime-permissions,Android,Android Permissions,Runtime Permissions,我有一个前台服务,我偶尔播放一次声音。现在我需要确定是否有一个正在进行的电话取消我的声音。我所做的是一个phonestate侦听器,但我需要一个READ_PHONE_STATE权限,我请求它,正如文档中所描述的那样。因此,在安卓M或更高版本上,用户只需启动应用程序,允许权限,然后进入设置并拒绝即可。我已经测试了这个场景,它导致我的服务崩溃。那么,是否有任何方法可以在服务的运行时检测到服务中从允许到拒绝的权限更改?我在这里看到一些人说,如果用户更改了权限,应用程序将重新启动,但如果只有服务在运行,

我有一个前台服务,我偶尔播放一次声音。现在我需要确定是否有一个正在进行的电话取消我的声音。我所做的是一个phonestate侦听器,但我需要一个READ_PHONE_STATE权限,我请求它,正如文档中所描述的那样。因此,在安卓M或更高版本上,用户只需启动应用程序,允许权限,然后进入设置并拒绝即可。我已经测试了这个场景,它导致我的服务崩溃。那么,是否有任何方法可以在服务的运行时检测到服务中从允许到拒绝的权限更改?我在这里看到一些人说,如果用户更改了权限,应用程序将重新启动,但如果只有服务在运行,则不会发生这种情况


编辑:多亏了Commonware注释,我做了另一项检查,可以确认如果权限发生更改,前台服务也会重新启动

“但如果只有服务在运行,就不会发生这种情况”——你确定吗?这是安卓系统的一个错误,如果是的话。对不起,这是我的错误。谢谢你让我再检查一遍。权限更改后,服务将重新启动。唷!别那样吓我!:-)你好,你解决这个问题了吗?没有这样的问题。服务确实重新启动了,崩溃是由smth else引起的“但这不会发生在只有服务正在运行的情况下”——你确定吗?这是安卓系统的一个错误,如果是的话。对不起,这是我的错误。谢谢你让我再检查一遍。权限更改后,服务将重新启动。唷!别那样吓我!:-)你好,你解决这个问题了吗?没有这样的问题。服务确实重新启动,崩溃是由smth else引起的