Как получить путь SD_Card в Android6.0 программно

Я пытаюсь проверить, имеет ли устройство внешнее хранилище, используя внешний путь хранения, как показано ниже.

 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/";
    }

Но в зефире я не нашел этот путь, и при проверке с помощью ES FILEMANAGER они дают аналогично storage / 3263-3131 в Moto G 3-го поколения. При проверке в других зефирных аппаратах цифры различаются. Помогите пожалуйста проверить, есть ли у зефирного устройства внешнее хранилище или нет? и если найденное хранилище означает, как получить путь к этому внешнему хранилищу?

Примечание: - Я дал разрешение на хранение в моем приложении, а также включил разрешение на хранение в настройках своего приложения.

Заранее спасибо, и вы нашли какую-либо ошибку в моем вопросе? еще раз спасибо

Ответы на вопрос(3)

Ваш ответ на вопрос