public static void createChannel(Context context, Options options) {
        // Channels are only supported since Android 8
        if (SDK_INT < O) return;

        // Check if channel exists
        NotificationChannel channel = getChannel(context, options);
        
        // Channel already created
        if (channel != null) return;

        Log.d(TAG, "Create channel" + 
            ", id=" + options.getAndroidChannelId() +
            ", name=" + options.getAndroidChannelName() +
            ", options=" + options);

        // Create new channel
        channel = new NotificationChannel(
            options.getAndroidChannelId(),
            options.getAndroidChannelName(), options.getAndroidChannelImportance());

        channel.setDescription(options.getAndroidChannelDescription());
        channel.enableVibration(options.isAndroidChannelEnableVibration());
        channel.enableLights(options.getAndroidChannelEnableLights());

        Uri soundUri = options.getSoundUri();
        Log.d(TAG, "sound uri: " + soundUri);

        // Grant permission to the system to play the sound, needed only in Android 8
        if (soundUri != Uri.EMPTY && SDK_INT < P) {
            grantUriPermission(context, soundUri);
        }
        
        // If options.getSoundUri() is Uri.EMPTY, an empty sound will be set, which means no sound
        channel.setSound(soundUri, new AudioAttributes.Builder().setUsage(options.getSoundUsage()).build());

        NotificationManagerCompat.from(context).createNotificationChannel(channel);
    }
Create Notification channel with options
@param options Set of channel options.
src/android/Manager.java