찾다

 >  Q&A  >  본문

Android 6.0 运行中用户手动去设置界面取消该app的某个权限,app该怎么处理这块的逻辑?

Android 6.0 运行中用户手动去设置界面取消该app的某个权限,或者在权限设置界面取消然后再重新手动给与该权限,再次进入该app,其实里面的数据和对象已经被回收了但是有没有崩溃,界面还在。没有走onDestroy,onPause等函数,如果是 Fragment 会直接被回收,但是又没有走 onDestroyView , onDestroy ,onDetach 这些周期函数,宿主的周期函数也没有被执行,这个问题该怎么解决?有人可能会说在主活动onResume监听权限改变,但是只要上面第一句执行了,后面的都没用,曾经考虑过动态监听权限改变,然后得到结果后重启应用,这个目前是作为备用方案,希望可以在这里看看大家有没有更简单粗暴的好办法

怪我咯怪我咯2772일 전671

모든 응답(5)나는 대답할 것이다

  • 怪我咯

    怪我咯2017-04-17 18:02:53

    제 질문은 귀하의 답변 범위에 포함되지 않습니다. 프로젝트를 재구성하여 이 문제를 완전히 해결했습니다.

    회신하다
    0
  • 阿神

    阿神2017-04-17 18:02:53

    권한 수정으로 이동하면 활동이 확실히 종료됩니다. 일반적으로 OnStop이 호출되고, 최소한 onPause도 호출되어야 하므로 onResume에서 확인하세요. . 확실하지 않은 경우 데이터를 얻을 때마다(즉, 실제로 권한이 사용되는 위치) 다시 확인할 수 있습니다.

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 18:02:53

    현재 생각하고 있는 방법은 다음과 같습니다.
    1. 주석을 작성하고, 권한이 필요한 일부 메서드에 주석을 추가하고, 자동으로 권한을 감지합니다
    2. 매번 탐지할 때마다 권한이 사용되는 위치를 감지합니다

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-17 18:02:53

    항상 이러한 권한이 필요한 경우 onResume of baseActivity에서 확인하세요

    회신하다
    0
  • ringa_lee

    ringa_lee2017-04-17 18:02:53

    안녕하세요. 저도 최근에 이 문제로 고민하고 있었는데 어떻게 해결하셨나요?

    회신하다
    0
  • 취소회신하다