많은 활동이있는 신청서가 있습니다. 권한을 취소하면 응용 프로그램이 다른 활동에서 충돌합니다. 응용 프로그램을 디버그하고 활동이 중단되는 위치를 잡으려고 시도했지만 응용 프로그램이 종료되면 디버깅을 계속할 수 없습니다. 내 질문은 권한이 전역 적으로 처리 할 수있는 방법이 있습니까? 활동중인 곳에서 허가를 확인할 수 있습니까? onStart? 활동 중 어디에서 허가를 확인해야합니까? 미리 감사드립니다.Android 런타임 권한 - 앱 사용자가 권한을 취소하면 충돌합니다. 어떻게 처리할까요?
2
A
답변
3
먼저 @CommonsWare 및 @nightlyrails에 감사 드리며 질문을 해결하고 설명을 듣고 싶습니다.
onCreate() 메서드에서 savedInstanceBundle이 null인지 확인합니다. null 인 경우 액티비티가 시작되고 모든 것이 정상입니다. savedInstanceBundle이 null이 아니면 권한을 요청했습니다.
이렇게하면 권한을 취소 할 때마다 응용 프로그램이 손상되는 것을 방지 할 수 있습니다.
한 번 더 팁을 주셔서 감사합니다.
관련 문제
- 1. Android 마샬 멜로우에서 런타임 권한 거부 앱
- 2. Android 런타임 권한 - 사용자가 권한을 부여하고 onRequestPermissionsResult에서 수신하지 않음
- 3. Android M 런타임 권한 문제
- 4. Android 앱 권한
- 5. 권한을 요청하는 동안 Android 앱 (Marshmallow)이 충돌합니다.
- 6. 위치 서비스를위한 Android 런타임 권한
- 7. 코르도바 런타임 권한
- 8. 사용자가 체크 표시를 취소하면 전경 서비스
- 9. Android 앱 런타임 오류
- 10. ibuildapp.com의 Android 앱 권한
- 11. 안드로이드 6.0 런타임 권한 + 인 텐트 필터
- 12. Android M : 사용자가 앱 설정에서 런타임 권한을 끈 경우 가로 챌
- 13. 내 앱 마시맬로에 대한 런타임 권한을 처음으로 묻지 않습니까?
- 14. play store의 Android 앱에있는 앱 권한 페이지
- 15. 시작시 런타임 권한
- 16. iFrame 앱. 권한 요청?
- 17. Android 인스턴트 앱에서 런타임 권한을 처리하는 방법은 무엇입니까?
- 18. Android Runtime Marshmallow 권한
- 19. Android - 사용자가 권한을 취소 할 때 Facebook 오류로 권한 부여가 호출되지 않습니다.
- 20. Android 권한 로그
- 21. android의 Facebook 앱 권한
- 22. 서비스에 대한 Android 런타임 위치 권한
- 23. Android 권한 관리자
- 24. Android M : 여러 개의 런타임 그룹 권한을 함께 묻습니다.
- 25. Facebook 앱 확장 권한
- 26. 앱 서랍 버튼을 클릭하면 Android 런처가 충돌합니다.
- 27. 사용자가 Inno에서 확인을 취소하면 HTTP 요청을 전송합니다.
- 28. Android WAKE_LOCK 권한 권한
- 29. Android SYSTEM_ALERT_WINDOW 권한
- 30. 통합 Facebook 앱 권한 전환
필자는 사용자 피드백을 제공하고 다시 묻는 데 필요한 권한을 사용하기 전에'onResume()'을 확인하거나 더 나은 방법으로 검사 할 것입니다. – 323go
"디버깅을 계속할 수 없습니다."- 아니요.하지만 스택 추적을 계속 볼 수는 있습니다. "활동중인 곳에서 허가를 확인할 수 있습니까?" - 언젠가 당신이 추락하기 전에. :-) 더 구체적으로 말하자면, 허락을 필요로하는 일을하기 전에 허가를 확인해야합니다. 단순히 onCreate() 또는 일부 특정 사용자 작업 (예 : 작업 표시 줄 항목 클릭)에 의해 실행되는지 여부는 앱에 따라 다릅니다. – CommonsWare
@CommonsWare 나는 권한이 취소되었을 때 (나는 adb와 수동으로 설정을 시도 했음), 응용 프로그램 프로세스가 종료된다는 것을 관찰했다. 안드로이드 스튜디오 logcat, 아니 예외, 아무것도에 충돌 로그가 없습니다! 아마 이것은 원래 포스터가 "응용 프로그램이 죽을 때까지 계속 디버그 할 수 없다"고 말한 것을 의미합니다. 이 행동을 눈치 채셨습니까? 이 시나리오를 처리하는 방법을 이해해야합니다. 서비스가 종료 될 때 알림을 보내고 알림 패널에서 해당 알림을 제거 할 수있는 방법이 없습니다. – nightlytrails