10

API 23 이상인 경우 Android 카메라를 사용하려고 할 때 런타임에 권한을 요청해야합니다. documentation에 따르면 ActivityCompat 또는 ContextCompat를 사용하여이를 수행 할 수 있습니다. 나는이 두 가지와 그 트레이드 오프의 차이점이 무엇인지 이해하지 못한다.ActivityCompat와 ContextCompat의 차이점은 무엇입니까?

감사합니다.

+1

ActivityCompat는 [여기] ContextCompat – tachyonflux

+1

첨가 유용한 정보 (연장 https://inthecheesefactory.com/blog/things-you-need-to-know-about -android-m-permission-developer-edition/ko). 명확하고 짧다. –

답변

13

나는 더 트레이드 오프는 정말 없습니다 두 그들의 장단점

의 차이점이 무엇인지 이해하지 않습니다. 왜 그들이 쓴 이유인지 잘 모르겠다. checkSelfPermission()ContextCompat이고 ActivityCompat은 하위 클래스 (하위)가 ContextCompat이므로 ContextCompat 클래스의 객체가 필요할 때마다 전달할 수 있습니다.

상속 계층 (docs는)

enter image description here

+0

Marcin에게 감사드립니다! 너는 내 질문에 대답했다. 나는 ActivityCompat이 ContextCompat의 직접적인 자식이라는 것을 몰랐다. – Antuan

+1

도움이 되니 기쁩니다. 그러나 각 클래스의 문서에서 클래스 계층을 항상 확인할 수 있습니다. 즉 [ActivityCompat docs] (https://developer.android.com/reference/android/support/v4/app/ActivityCompat.html)를 확인하면 맨 위에)는'ContextCompat'을 확장하고'Object'를 확장합니다. –

+0

방금했습니다. 나는 그것을 알아 채지 못했다. 많은 감사를 다시 :-) – Antuan

관련 문제