public final void startCamera(Activity activity, Fragment fragment, String subFolderPath) {
        try {
            if (!BoxingBuilderConfig.TESTING && ContextCompat.checkSelfPermission(getActivity(), CAMERA_PERMISSIONS[0]) != PERMISSION_GRANTED) {
                requestPermissions(CAMERA_PERMISSIONS, REQUEST_CODE_PERMISSION);
            } else {
                if (!BoxingManager.getInstance().getBoxingConfig().isVideoMode()) {
                    mCameraPicker.startCamera(activity, fragment, subFolderPath);
                }
            }
        } catch (IllegalArgumentException | IllegalStateException e) {
            onRequestPermissionError(CAMERA_PERMISSIONS, e);
        }
    }
start camera to take a photo.

@param activity      the caller activity.
@param fragment      the caller fragment, may be null.
@param subFolderPath the folder name in "DCIM/bili/boxing/"
boxing/src/main/java/com/bilibili/boxing/AbsBoxingViewFragment.java