Simple Ringtone Picker dialog which allows you to pick different sounds from ringtone

Android Ringtone Picker

Simple Ringtone Picker dialog which allows you to pick different sounds from ringtone, alarm tone, notification tone and music from external storage.

Gradle dependency:

  • Add below dependency into your build.gradle file.

compile 'com.kevalpatel2106:ringtonepicker:1.2'

How to use?

  • User RingtonePicker.Builder to build the ringtone picker dialog.
  • Pass all the parameters and call RingtonePicker.Builder#show() to display ringtone picker dialog.
RingtonePickerDialog.Builder ringtonePickerBuilder = new RingtonePickerDialog
        .Builder(MainActivity.this, getSupportFragmentManager())

        //Set title of the dialog.
        //If set null, no title will be displayed.
        .setTitle("Select ringtone")

        //set the currently selected uri, to mark that ringtone as checked by default.
        //If no ringtone is currently selected, pass null.
        .setCurrentRingtoneUri(/* Prevously selected ringtone Uri */)

        //Set true to allow allow user to select default ringtone set in phone settings.
        .displayDefaultRingtone(true)

        //Set true to allow user to select silent (i.e. No ringtone.).
        .displaySilentRingtone(true)

        //set the text to display of the positive (ok) button.
        //If not set OK will be the default text.
        .setPositiveButtonText("SET RINGTONE")

        //set text to display as negative button.
        //If set null, negative button will not be displayed.
        .setCancelButtonText("CANCEL")

        //Set flag true if you want to play the sample of the clicked tone.
        .setPlaySampleWhileSelection(true)

        //Set the callback listener.
        .setListener(new RingtonePickerListener() {
            @Override
            public void OnRingtoneSelected(@NonNull String ringtoneName, Uri ringtoneUri) {
                //Do someting with selected uri...
            }
        });

//Add the desirable ringtone types.
ringtonePickerBuilder.addRingtoneType(RingtonePickerDialog.Builder.TYPE_MUSIC);
ringtonePickerBuilder.addRingtoneType(RingtonePickerDialog.Builder.TYPE_NOTIFICATION);
ringtonePickerBuilder.addRingtoneType(RingtonePickerDialog.Builder.TYPE_RINGTONE);
ringtonePickerBuilder.addRingtoneType(RingtonePickerDialog.Builder.TYPE_ALARM);

//Display the dialog.
ringtonePickerBuilder.show();

GitHub