Какая разница между ActivityCompat и ContextCompat?

Я пытаюсь использовать камеру Android для API 23 или выше, она требует просить разрешения во время выполнения. Согласно документации я могу выполнить это с помощью ActivityCompat или ContextCompat. Я не понимаю, в чем разница между ними и их компромиссы.

Благодарим вас за время.

Ответ 1

Я не понимаю, в чем разница между ними и их компромиссом

Нет никакого компромисса. Не знаю, почему они так писали - checkSelfPermission() - это метод ContextCompat и ActivityCompat - это подкласс (дочерний элемент) ContextCompat поэтому вы можете передавать любой из них каждый раз, когда требуется объект класса ContextCompat.

Наследование иерархии (docs):

введите описание изображения здесь