Reading external files and folders

I have been building an app and I am hung up on this problem for over a week. I have read, read and read the proposed solutions just don't work.
I have Taifun extension.
I can make my software work when reading from an ASD.
In the app I have tried selecting a folder that contains the files I need and move them to the ASD. The app cannot find the files on my SD card and I cannot find my ASD with my "My Files" app (in my Samsung tool folder). I understand this to be normal operation for AI2.

I am debugging on my Samsung phone, but the final product will be on a Android tablet.

I just want to place my file folder 'Event_Folder_Chosen' in a folder on the SD card, (this will be selected from another screen and there will be up to 12 folders)
Event_Folder_Chosen contains both .mp3 and .txt files. Here is 'Event_Folder_Chosen'(named locomotive in this case) .txt files are very small, .mp3 can be anywhere from a few seconds of audio to a 5 minute song.


I will check to see if ????.mp3 exists and if so play the audio with audio player.
I will check to see if ????.txt exists and if so execute an app feature change from details in the .txt
These checks will occur about every 3 seconds. There will be no checks while the audio is playing. This is in other parts of the code.

These file names (especially the .txt) will be manually changed by us in a separate file manager app. The contents of the text file will be changed via a text editor, and saved. This needs to be totally offline.

This is my first attempt at running it.

I have tried so many variations of this I cannot begin to describe/explain them all.

So as I researched I think i need to copy files from the SD Card to and ASD.

When file loading screen of the app is finished being built it is to show the folders available and then I select the folder I want. This will delete current files in the ASD. Then the files in this folder(Locomotive in the above scenario) transfer to the ASD folder and will display all the files in the folder after transfering to the ASD to ensure there availability to the app. I know with this method it will require a refresh after changes, but I think this is OK. Maybe CopyAsync would remove the refresh requirement, but first I need to get something to work. Once the final version of the folder goes into "production" changes will not be necessary.

Just to verify: after I get this to work, I can load the files to my ASD and I will be able to read these files from the ASD in another screen in the same app?

Any help would be appreciated.

Use method AvailableStorageDirectories from the file extension to get the correct path to your external (removable) sdcard


Do It Result: ["/storage/sdcard", "/storage/usb1", "/storage/usb2", "/storage/emulated/0/", "/storage/86A7-0E0F/"]

Take a screenshot from the "Do it" result of the AvailableStorageDirectories block.

I doubt that this path is correct, that it even exists.

Some of your blocks make no sense at all. Also post all (relevant) blocks.

This is the ctl C of the doit output:

Do It Result: ["/storage/sdcard", "/storage/usb1", "/storage/usb2", "/storage/emulated/0/", "/storage/86A7-0E0F/"]

I am making a very unique application to fit a personal need. I am sure it makes no sense without context. I can give more detail at the overall scope later.

Strange. I don't believe this path exists. Check it also with Sunny's FileTools extension.

What device are we talking about here? Android version and precise device name?

Connect the device to your computer via USB and show us via screenshot which directories / SDcards are displayed in Explorer. Also, use your device's file manager to show us which internal and external SD (removable) cards are available.

This is a typical path for a removable micro SDcard.

This might be the same as


I have more than 20 Android test devices (mobile phones and tablets) with Android versions from 2.1 to 14 and I haven't seen anything similar in more than 10 years.

/sdcard = /storage/emulated/0

/storage/sdcard :question: :woman_shrugging: :question:

Here's a 12 year old note/link that might be of some help:

Android version 12
Galaxy Xcover pro
model sm-g715u
I am in Developer mode.

If all my headaches are device related, I will get a tablet because that will be where the final revision will reside. I am trying to get proof of concept and show the value to our group that investing in rugged tablets will be a benefit. Actually once implemented it must be on a company tablet as personal cell phones are banned in train service.

Always be open minded to see something new

For the external (removable) sdcard


As I already said (in post #7):

.DirectoryList with Directory name: file:///storage/86A7-0E0F/

Do It Result: ["/storage/86A7-0E0F/LOST.DIR", "/storage/86A7-0E0F/Android", "/storage/86A7-0E0F/DCIM", "/storage/86A7-0E0F/System Volume Information", "/storage/86A7-0E0F/Photo's on rotation", "/storage/86A7-0E0F/MISC", "/storage/86A7-0E0F/photo", "/storage/86A7-0E0F/vacation 2016", "/storage/86A7-0E0F/.HhTjqSRo6dybqDAV2ImUSREmnZU=", "/storage/86A7-0E0F/.eCtcQjbu1dgnvtFnvnr6yepTp1M=", "/storage/86A7-0E0F/Download", "/storage/86A7-0E0F/VoiceRecordings", "/storage/86A7-0E0F/Music", "/storage/86A7-0E0F/Podcasts", "/storage/86A7-0E0F/Ringtones", "/storage/86A7-0E0F/Alarms", "/storage/86A7-0E0F/Notifications", "/storage/86A7-0E0F/Pictures", "/storage/86A7-0E0F/Movies", "/storage/86A7-0E0F/Documents", "/storage/86A7-0E0F/Audiobooks", "/storage/86A7-0E0F/MileMarker", "/storage/86A7-0E0F/Locomotive"]

I then try to look into the folder with ,fileList and it is always empty. I have tried many variations of true, false, .*, .txt. .mp3

.FileList file:///storage/86A7-0E0F/Locomotive/ .* true
Do It Result:

.FileList file:///storage/86A7-0E0F/Locomotive/ .txt true
Do It Result:

file:///storage/86A7-0E0F/locomotive .txt false
Do It Result:

Looks like this is actually /storage/emulated/0, not an "external" sdcard at all

You cannot save files here directly, you need to use one of the shared storage directories.

Plese show us a screenshot of your relevant blocks and follow the documentation of that method


Ok, and what about this part of my request:


Post a screenshot from the root dir of your device (Andy phone).