【发布时间】:2021-12-30 03:10:15
【问题描述】:
问题是在应用程序运行时, 我按下设置图标并导航到应用程序设置屏幕,
我只是撤销权限(位置权限)或按下“拒绝”按钮。
现在,当我从最近模式打开应用程序时,由于应用程序处于最近模式,我的应用程序 UI 与片段不匹配。
注意:如果应用程序被终止并且我尝试从设置中撤消权限,这将正常工作。
而且我遇到了例外情况:
2021-11-19 15:20:24.637 16474-16474/ W/.: Accessing hidden methodLjava/lang/Thread;->init2(Ljava/lang/Thread;)V (greylist-max-o, 链接,拒绝)2021-11-19 15:20:24.637 16474-16474/ W/.:访问隐藏 字段 Ljava/lang/Thread;->contextClassLoader:Ljava/lang/ClassLoader; (灰名单、链接、允许)2021-11-19 15:20:24.650 16474-16474/W/:访问隐藏 方法 Landroid/app/LoadedApk;->getServiceDispatcherCommon(Landroid/content/ServiceConnection;Landroid/content/Context;Landroid/os/Handler;Ljava/util/concurrent/Executor;I)Landroid/app/IServiceConnection; (黑名单、链接、拒绝)2021-11-19 15:20:24.637 16474-16474/ W/ 访问隐藏 方法 Ljava/lang/ThreadLocal;->createInheritedMap(Ljava/lang/ThreadLocal$ThreadLocalMap;)Ljava/lang/ThreadLocal$ThreadLocalMap; (greylist-max-o,链接,拒绝) 可能是什么问题?
【问题讨论】:
-
奇怪的是它会崩溃,因为撤销任何权限都会强制终止您的应用程序进程。您仍然没有提供任何关于您如何使用位置权限(活动?服务?框架或 api?)的上下文,所以不要指望人们猜测解决方案。
-
@Pawel 我正在我的 HomeActivity 中检查并授予权限。当我撤销权限时,最后一个打开的活动即将进行娱乐(HomeActivity),并且在重新创建活动时流程是正常的 - 即 onCreate、onStart、onResume() 等。这很好。但是,我怎么知道权限已从设置中撤消,我必须清除 Activity 的旧分配资源?希望您了解问题所在 - 这就是我在 Homeactivity 中的片段相互聚集的原因(几个片段)有没有办法清除活动资源?
-
按照设计,您永远不应假定权限被永久授予,并且在每个组件生命周期中至少检查一次(每次创建时检查一次)。我不明白你在考虑什么分配的资源,如果你坚持认为权限被授予超出
onDestroy并使用它来假设它在重新创建之后仍然是一个错误。 -
正如我所提到的,问题不在于权限,而在于 UI - 片段重叠。我正在发布解决方案。这很简单.. 一段时间后结帐。
-
当您没有发布任何代码时,怎么会有人在您的 UI 方面提供帮助
标签: android kotlin permissions android-permissions user-permissions