Android API级别23(Marshmallow)引入了一组新的方法来处理其新的运行时权限模型中的权限。 从类DevicePolicyManager(只能由配置文件/设备所有者调用),有一个名为setPermissionGrantState(admin,packageName,permission,grantState)的方法。此方法非常适用于对应用程序的权限实施策略,但我发现当权限被拒绝时,e。 i。,PERMISSION_GRANT_STATE_DENIED用作grantState值,正在被撤销权限的应用程序正在运行,突然崩溃。 我做了一些研究并尝试了许多可能的方法来理解正在发生的事情......似乎撤销的许可会杀死应用程序进程(就像执行SIGSTOP一样),无论哪个资源。
它没有发生,因为应用程序无法处理没有资源(例如位置)的事实。在应用程序崩溃后,如果我再次启动应用程序,则可以在没有相关资源的情况下完美运行;
我试图捕获实现UncaughtExceptionHandler的崩溃,似乎没有抛出异常;
如果使用PERMISSION_GRANT_STATE_GRANTED,则应用程序不会崩溃。申请1 ---> (PERMISSION_GRANT_STATE_GRANTED) - 没有崩溃。
我不知道这应该是这样工作还是错误?
我正在寻求帮助来规避崩溃,这对我的项目产生了影响。