在后台模式下使用应用程序更改应用程序权限(从常规设置)时出现问题
Posted
技术标签:
【中文标题】在后台模式下使用应用程序更改应用程序权限(从常规设置)时出现问题【英文标题】:Problem changing app permissions (from general settings) with app in background mode 【发布时间】:2021-08-26 13:10:27 【问题描述】:如果我让我的应用程序进入后台模式,然后导航到常规设置以更改我的应用程序的权限(例如更改位置模式权限),那么当我返回应用程序时 onCreate() 方法被触发。我需要保留在应用程序后台模式之前实例化的对象。在 onStop() 之后(进入后台模式时),活动应该调用 onResume(),但我没有'没有从活动中得到那种行为。提前致谢!
【问题讨论】:
【参考方案1】:如果我让我的应用进入后台模式,然后导航到常规设置以更改我的应用的权限(例如更改位置模式权限),那么当我返回应用时会触发 onCreate() 方法。
一般来说,当您的应用处于后台时,您的进程可以随时以任何原因终止。
特别是关于权限,如果您的应用在后台并且用户在“设置”中撤消了权限,则您的进程将被终止,因此您将重新检查您是否拥有这些权限,如果/当用户返回您的应用程序。
我需要保留应用后台模式之前实例化的对象
这在严格意义上是不可能的。如果您的进程终止,内存中的对象就会消失。您可以使用保存的实例状态 Bundle
或您自己的持久数据存储(例如文件)来帮助解决此问题。
【讨论】:
以上是关于在后台模式下使用应用程序更改应用程序权限(从常规设置)时出现问题的主要内容,如果未能解决你的问题,请参考以下文章
Android:从设置外部更改相机权限会导致应用程序共享首选项清除
Android Marshmallow:在运行时更改权限会使应用程序崩溃