private boolean takePhotoSecure(Activity activity, Fragment fragment, String subDir) {
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
            try {
                startCameraIntent(activity, fragment, subDir, MediaStore.ACTION_IMAGE_CAPTURE, REQ_CODE_CAMERA);
                return true;
            } catch (ActivityNotFoundException ignore) {
                return false;
            }
        }
        return false;
    }
start system camera to take a picture

@param activity      not null if fragment is null.
@param fragment      not null if activity is null.
@param subFolderPath a folder in external DCIM,must start with "/".
boxing/src/main/java/com/bilibili/boxing/utils/CameraPickerHelper.java