What's the difference between ActivityCompat and ContextCompat?

Antuan picture Antuan · Jul 6, 2016 · Viewed 9k times · Source

I'm trying to use the Android camera, for API 23 or above, it requires asking for permission at runtime. According to the documentation, I can accomplish that using, ActivityCompat or ContextCompat. I don't understand what are the difference between the two and their trade-offs.

Thank you for time.

Answer

Marcin Orlowski picture Marcin Orlowski · Jul 6, 2016

I don't understand what are the difference between the two and their trade-offs

There's no trade-off really. Not sure why they wrote so - checkSelfPermission() is a method of ContextCompat and ActivityCompat is subclass (child) of ContextCompat so you can pass either one whenever object of ContextCompat class is required.

Inheritance hierarchy (docs):

enter image description here