У меня есть фрагмент, содержащий метод, работающий с камерой. Но, когда пользователь впервые входит в приложение и переходит к этому фрагменту, я спрашиваю разрешение камеры. И после того, как пользователь принимает разрешение на использование камеры, камера не запускается. Только после того, как он выйдет из этого фрагмента и вернется к нему, камера запустится.
Думаю, мне нужен слушатель для принятия разрешения.
surfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
@Override
public void surfaceCreated(SurfaceHolder holder) {
try {
if (ActivityCompat.checkSelfPermission(mContext, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED) {
cameraSource.start(surfaceView.getHolder());
} else {
ActivityCompat.requestPermissions(mActivity, new String[]{Manifest.permission.CAMERA}, REQUEST_CAMERA_PERMISSION);
}
} catch (IOException e) {
e.printStackTrace();
}
}