Ваша реализация верна.Но обратите внимание, что вы должны убедиться, что SD-карта доступна в вашем телефоне или эмуляторе.
Чтобы упростить эту задачу, вы можете попробовать,
Environment.getExternalStorageDirectory().getAbsoluteFile()
вернуть существующий файл.
Если файл существует, проверьте разрешение.Если вы хотите использовать внешнее хранилище, в AndroidManifest.xml необходимо следующее разрешение:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Надеюсь, это поможет.