在后台模式下使用应用程序更改应用程序权限(从常规设置)时出现问题

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:从设置外部更改相机权限会导致应用程序共享首选项清除

iOS 在后台模式下从广告中省略制造商数据

在没有DBA权限的情况下更改不同数据库下多个模式的密码?

Android Marshmallow:在运行时更改权限会使应用程序崩溃

当我从 Marshmallow 中的应用程序设置更改权限时,应用程序停止响应

如何用AngularJS构建管理后台