so here is a working example with 3 different ways to access
a text file which has been downloaded to the download folder.

i ran it 3 times (once for each way) on an android 12 device using sdk30.

i put a csv test file in the download folder.  full disclosure: i did not download
it (presumably via a browser) as i did not have the url of a typical site used
by your users.  but it is a csv file, and it is in the download folder.

ways #1 and #2 work, more or less, in the opposite fashion of way #3.  i will
describe them first.

way #1 treats the contents of the csv file as a text string.
way #2 deals with the csv file as a text file.
i have no idea how your app currently handles the file which the user has
downloaded to the download folder.  i assume it would either be as text
or as a text file.

when using ways #1 or #2, you register your app (called "steve") as a
possible recipient of shared text.  that is, you tell android that you would be
happy to accept text or a text file from another app, should that app wish to
share it.  the download folder is an app.

to register your app as a recipient of any shared resource, you add some
statements to your app's manifest.  please refer to steve's manifest.

if you have a small csv file at your disposal, you should connect your laptop to
your device via usb and turn on the usb setting that allows you to transfer files
from your pc to the device.  find the download folder and drag your csv file
to it.  you don't need the file sharing setting turned on.

now carefully uncomment the block of b4a code covering way #1.
build and deploy the app.  the app appears to do nothing.  it's waiting. you
can let it wait or you can close it.  

from your device's home screen open the download folder.  different devices
handle the folder differently.  look for your csv file.  to invoke sharing, you may have
to tap the file.  or there may be a 3-dotted menu symbol somewhere or there may
be a sharing icon somewhere.  i have no way of know what your download folder
screen looks like.  once you have selected the file and found the sharing icon,
you tap it.  you will see a, hopefully, short list of apps which are registered to
accept shared text.  look for "steve", tap steve.  the next thing you should see is
the contents of your text file as a msgbox in the steve app.  mission accomplished.

you can now carefully comment out the way #1 block and uncomment the way #2
block.  rebuild and deploy the app.  go back into the  download folder and select
your file again and share it with steve.  same end result, but a slightly different
intermediate result.  you can check the code to see what that is.  

carefully comment out the way #2 code block,and uncomment the way #3 block
in activity_create.  rebuild and deploy.

with way #3 something different happens.  the app springs to life immediately
and you will see a screen which, hopefully, shows your csv file (perhaps among
other text files you may have in the download folder and elsewhere).  tap on the
file, and you will immediately see it displayed again in steve.

unless there is something non-standard about your device or mine, the good
news is that all 3 methods work.  the bad news - small imho - is that the users
have to learn something a little different.  although the downloading part remains
the same.  on the other hand, once the user learns, it's no big deal to do.

sharing text is,unfortunately, a popular activity.  so lots of programs will claim 
they can receive shared text.  but, clever boy that android is, the more steve
is used as a target, the faster steve moves to the head of the list.  regrettably,
specifying csv text as the type of file doesn't help.  i tried.  (i tried because
"text/csv" is an official mime type,and it should have been accepted by android.
but it wasn't.  hence, in the manifest you will see "text/*").

way #3 might be a solution, unless a user has a lot of text files on his device.
when you run way #3, steve asks android for a list of text files.  if some user happens
to have, eg, 50 text files, he will have to find the csv file among the 50. obviouslyl,
you have no way of knowing whether any given user stores a bunch of text files
on the device.

i still don't know how your app or the users handle the text once it is in hand.  that is
beyond the scope of this example.
