【发布时间】:2016-01-04 16:15:43
【问题描述】:
我想在我的应用程序中使用 android 6 的权限,但我看到了一个奇怪的事件。也许你可以帮我解决这个问题。
如果您使用“危险”权限启动应用,这些权限会显示在您的 Android 设备的“应用权限”中。完美!
但是,如果您将应用程序保持在后台,请转到“应用程序权限”菜单,禁用(您可以启用然后禁用它)权限并返回您的应用程序,android 永远不会进入 onStart(片段或活动) ?!以后再也不去那里了。
如果您没有触及权限或启用权限 => 它转到 onStart 和其他人。
这是有问题的,例如,如果您的应用使用侦听器,则无法重新启动它,并且可能会崩溃...
你知道当你禁用一个权限时Android去哪里了吗?
我试过了 创建 开始 恢复 重启 onRestoreInstanceState onActionModeStarted onRestoreInstanceState onPostResume onContentChanged
...但没办法...:/
【问题讨论】:
-
“android 永远不会去 onStart(片段或活动)?!永远不会再去那里。” -- 如果用户从设置中撤销权限,Android 会终止您的进程。如果 Android 在您处于后台时出于任何其他原因终止您的进程,您也可以采用相同的方式处理此问题。
-
感谢您的回答!我继续调查。当我创建我的活动时,我显示 1 个片段。如果我更改权限并返回应用程序,则有 2 个片段(权限更改之前和之后的片段)。您知道为什么保留旧片段吗?
-
"你知道为什么保留旧片段吗?" -- 因为您的任务仍然未完成,所以 Android 正在重新创建活动并尽其所能恢复其状态,其中包括重新创建任何现有片段。如果您进行配置更改(例如,旋转屏幕),您将获得相同的结果,因为您的活动将被销毁并默认重新创建。在添加之前检查片段是否存在。
-
非常感谢!!!现在好多了! :p
-
我们也遇到了同样的问题。修复了吗?
标签: android methods permissions callback