Cómo obtener la ruta SD_Card en android6.0 mediante programación

Estoy tratando de verificar si el dispositivo tiene almacenamiento externo o no mediante el uso de una ruta de almacenamiento externo como la que se muestra a continuación

 if (new File("/ext_card/").exists()) {
        specialPath = "/ext_card/";
    } else if (new File("/mnt/sdcard/external_sd/").exists()) {
        specialPath = "/mnt/sdcard/external_sd/";
    } else if (new File("/storage/extSdCard/").exists()) {
        specialPath = "/storage/extSdCard/";
    } else if (new File("/mnt/extSdCard/").exists()) {
        specialPath = "/mnt/extSdCard/";
    } else if (new File("/mnt/sdcard/external_sd/").exists()) {
        specialPath = "/mnt/sdcard/external_sd/";
    } else if (new File("storage/sdcard1/").exists()) {
        specialPath = "storage/sdcard1/";
    }

Pero en malvavisco no encuentro este camino y mientras compruebo usando ES FILEMANAGER, dan como almacenamiento / 3263-3131 en Moto G 3ra generación. Mientras verifica en otros dispositivos de malvavisco, los números son diferentes. ¿Ayudarme a verificar que el dispositivo de malvavisco tenga almacenamiento externo o no? y si el almacenamiento encontrado significa cómo obtener la ruta de ese almacenamiento externo?

Nota: - Di permiso para el almacenamiento en mi aplicación y también habilité el permiso de almacenamiento en la configuración de mi aplicación.

Gracias de antemano y encontró algún error en mi pregunta, por favor créalo. gracias de nuevo.

Respuestas a la pregunta(3)

Su respuesta a la pregunta