@NonNull
    public static File getFirstExternalPrivateCgeoDirectory() {
        final File externalFilesDir = CgeoApplication.getInstance().getExternalFilesDir(null);

        // fallback to internal dir
        if (externalFilesDir == null) {
            Log.w("No extCgeoDir is available, falling back to internal storage");
            return getInternalCgeoDirectory();
        }

        return externalFilesDir;
    }
Uses {@link android.content.Context#getExternalFilesDir(String)} with "null".
This is usually the emulated external storage.
It falls back to {@link LocalStorage#getInternalCgeoDirectory()}.
main/src/main/java/cgeo/geocaching/storage/LocalStorage.java