Directorio de almacenamiento externo abierto de Android (tarjeta sd) para almacenar archivos

Quiero abrir la ruta del directorio de almacenamiento externo para guardar el archivo mediante programación. Intenté pero no obtuve la ruta de la tarjeta SD. ¿Cómo puedo hacer esto? ¿Hay alguna solución para esto?

private File path = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES) + "");

o

private File path = new File(Environment.getExternalStorageDirectory() + "");

Intenté obtener la ruta desde arriba de ambos métodos, pero ambos apuntan a la memoria interna.

Cuando abrimos la memoria de almacenamiento si la tarjeta sd está presente, se mostrará como a continuación:

dispositivo de almacenamiento y tarjeta de memoria sd.

Quiero obtener la ruta de memoria SD a través de la codificación. He dado permisos en manifiesto

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.STORAGE" />
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

Respuestas a la pregunta(8)

Su respuesta a la pregunta