У меня настроенный Android SurfaceView
, который я использую для отображения видеопотока с камеры. Для доступа к камере мне нужно получить соответствующие разрешения от пользователя.
Документация по Android объясняет, как это делается с использованием методов checkSelfPermission
, shouldShowRequestPermissionRationale
и
requestPermissions
.
Теперь я хотел бы запросить разрешения непосредственно из настроенного представления (не пытайтесь объяснить мне, что это плохая практика и т. Д.).
Причина, по которой мне не удается этого сделать, заключается в том, что, похоже, нет способа сообщить Android, где найти обратный вызов ActivityCompat.OnRequestPermissionsResultCallback
. Похоже, что Android автоматически ожидает, что он будет частью Activity
или Fragment
, в котором находится мой измененный вид.
Я пропускаю вызов <whatever>.setCallback(this)
, который я мог бы добавить в свой код пользовательского представления после реализации ActivityCompat.OnRequestPermissionsResultCallback
непосредственно в представлении.
Неужели нет никакого хакерского способа запрашивать разрешения в представлении Android?