异常java.lang.RuntimeException:未能传递结果ResultInfo{who=@android:requestPermissions:

异常java.lang.RuntimeException:未能传递结果ResultInfo{who=@android:requestPermissions:,android,permissions,location,Android,Permissions,Location,我在崩溃报告中遇到了这个异常,但我自己无法重现崩溃。似乎一切正常,但不知何故它发生在少数用户身上。是否有人有类似的问题 Exception java.lang.RuntimeException: Failure delivering result ResultInfo{who=@android:requestPermissions:, request=22, result=0, data=null} to activity {}: java.lang.Security

我在崩溃报告中遇到了这个异常,但我自己无法重现崩溃。似乎一切正常,但不知何故它发生在少数用户身上。是否有人有类似的问题

    Exception java.lang.RuntimeException: Failure delivering result 
    ResultInfo{who=@android:requestPermissions:, request=22, result=0, 
    data=null} to activity {}: java.lang.SecurityException: "network" 
    location 
    provider requires ACCESS_COARSE_LOCATION or ACCESS_FINE_LOCATION 
    permission.

在onResume中,检查是否有任何权限被拒绝,如果是,则请求权限。onCreate有风险,因为此方法在创建活动时只调用一次

也许这就是您的用例:


用户添加权限,点击主页按钮->删除应用程序的权限。

检查您的目标Sdk版本。如果目标Sdk版本为23或更高,则将其降低到22或更低,因为23或更高版本的Sdk需要运行时权限,如果您仅在清单文件中提及这些权限,则会使应用程序崩溃。但是,某些权限是允许的仅在清单文件中提及

有关详细信息,请转到此链接:


另外,请将您的权限放在清单文件中的应用程序标记之外,然后检查应用程序是否仍然崩溃。

要么您从未请求过运行时权限,要么用户撤销了这些权限,而您没有再次请求这些权限。@Commonware我在运行时请求权限,然后用户撤销了这些权限,而您没有重新请求寻找那些权限。也许你的权限检查在错误的位置。