With Android 6 google is making changes to the way external media are handled. This is relatively good news for nexus owners and bad news for everyone else (unless the manufacturer of your phone/tablet is smart enough not to follow google on this; many didn't follow them on their nexus madness, but it seems like LG, motorola and HTC are following them on this :-().
So the story is: third-party apps no longer have (direct) access to external storage. External storage won't be found by enumerating the file system as my app does when it's looking for a garmin. Forcing a path won't work either, because any path that you may recover is not really accessible by third party apps. Only the internal file manager that they baked in can access external media (as I said, it's a step forward for nexus devices that couldn't even do that, but it's a big step backward for everyone else).
If you find yourself in that case, you have to go through a number of steps to keep using my app:
this must be done only once:
- create a folder somewhere, like /mnt/sdcard/garmin
- set that folder in my app using the force FILES path option (NOT force flash drive path). Remember that paths in android are case sensitive.
this must be done every time:
- use the built-in file manager to copy new files from your device to that folder. You'll find your files under Activities or History depending on your garmin model. In some cases (file-based handhelds) the current tracklog will be under the GPX folder.
- then run my app and click on get activities as usual. The app will only read new files, so don't worry if you don't remember what you already imported something, it's safe.
Note: you must use the built-in file manager. Other file managers, being third-party apps themselves, won't be able to access external media.
I'm exploring possible workarounds, but this is not something that I can simply bypass. It's a security measure that, if accepted by manufacturers, is designed to prevent direct access to third-party apps. So far I have a prototype working where you can select files from the internal file manager and then use the built-in feature to "share" them to my app. You still need to navigate to the right folder using the internal file manager and select the files, but you don't have to copy them in a fixed folder. Still looking for better alternatives. Of course, rooting + stickmount should probably work anyway, but it's not for everyone.
To stay current on this issue, please follow sportablet on facebook or twitter. I use the account only to tell you guys about news, there is no marketing going on there : )