@Override
    protected void onCreate(Bundle savedInstanceState) {
        // in DCIM/bili/boxing
        String cropPath = BoxingFileHelper.getBoxingPathInDCIM();
        if (TextUtils.isEmpty(cropPath)) {
            Toast.makeText(getApplicationContext(), R.string.boxing_storage_deny, Toast.LENGTH_SHORT).show();
            return;
        }
        Uri destUri = new Uri.Builder()
                .scheme("file")
                .appendPath(cropPath)
                .appendPath(String.format(Locale.US, "%s.jpg", System.currentTimeMillis()))
                .build();
        BoxingConfig config = new BoxingConfig(BoxingConfig.Mode.SINGLE_IMG).needCamera(R.drawable.ic_boxing_camera_white).withCropOption(new BoxingCropOption(destUri));
        BoxingManager.getInstance().setBoxingConfig(config);
        super.onCreate(savedInstanceState);

    }
A demo to show a Picker Activity with intent filter, which can start by other apps.
Get absolute path through {@link Intent#getDataString()} in {@link #onActivityResult(int, int, Intent)}.

@author ChenSL
app/src/main/java/com/bilibili/boxing/ui/IntentFilterActivity.java