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.

demo

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