private Uri getSharedUriForAssetFile(String assetPath) {
        // Change file:// to www folder
        assetPath = assetPath.replaceFirst("file://", "www/");

        // Create all directories specified by the asset path
        File sharedDirectory = new File(
            getSharedDirectory(), 
            // www/my/subfolder
            assetPath.substring(0, assetPath.lastIndexOf('/')));
        
        // Create sub directories for the shared directory
        sharedDirectory.mkdirs();

        // Get the asset file to copy to the shared directory
        String assetFilename = assetPath.substring(assetPath.lastIndexOf('/') + 1);
        File sharedAssetFile = new File(sharedDirectory, assetFilename);

        try {
            copyFile(context.getAssets().open(assetPath), new FileOutputStream(sharedAssetFile));
        } catch (Exception exception) {
            Log.e(TAG, "File not found: " + assetPath, exception);
            return Uri.EMPTY;
        }

        return getSharedUri(sharedAssetFile);
    }
Shared Uri for an asset file.
Copies the asset file to the shared directory [App path]/files/shared_files, to make it accessible
through a content:// Uri.
@param assetPath Path like www/myFile.png or file://myFile.png
@return content:// Uri pointing to the shared asset file in [App path]/files/shared_files.
E.g. content://com.example.app.localnotifications.provider/shared_files/www/myAssetFile.png
src/android/util/AssetUtil.java