为什么所有活动都会关闭?

时间:2019-01-25 11:11:31

标签: android android-activity

我遇到了一个非常奇怪的错误,即与应用程序进行交互(触摸或滚动)时,我的应用程序中的所有活动都将关闭。

我尝试在onActivityStopped()onStop()回调上设置断点,但确实会调用它们,但我看不到此过程的开始位置或方式。

日志中没有显示任何内容,使我认为存在某种观念或任何奇怪的事物。

有人知道为什么会发生这种情况以及如何调试它吗?

1 个答案:

答案 0 :(得分:0)

我终于弄清楚了这个问题。从onResume()方法开始位置更新是由于该活动被暂停,然后在位置服务被禁用时恢复了广告无限。

我认为正在发生的事情是:

  • 通过活动的onResume()方法请求了位置权限。
  • 这样做会导致在应该显示位置对话框的情况下在活动上调用onPause(),甚至知道它不再存在,因为我们已经拒绝了它们。
  • 然后调用onResume(),循环将持续下去。

在某些时候,如果您完全与活动进行交互,由于某些我不完全了解的原因,他们会关闭该活动(以及其他活动)。

我认为TL; DR是:避免从onResume() 开始定位服务。

一些看似相关的问题:Permission Requests causes infinite loop in OnResumehttps://github.com/permissions-dispatcher/PermissionsDispatcher/issues/90