Hacker News new | ask | show | jobs
by tadfisher 1445 days ago
This is being clamped down on, at least for apps on the Play Store. How it works now is the app has unfettered access to its own internal and external storage directory, and can prompt the user to select another one to give access for saving additional data. There are some rough edges for implementors, though; for example, getting your content to show up in media player apps requires usage of a completely separate API, you can't just save data in the Music or Pictures directory.
2 comments

The basic idea is okay, but the practical implementation is terrible. There's additional overhead which slows down operations that need to touch lots of files, they've broken access via the standard file APIs while at the same time other Android APIs still only support standard files, the much touted media store mainly only caters for standard media file formats (i.e. images/audio/video), plus some standard "document" file formats, but good luck if your file type is too exotic (at least on my – admittedly somewhat older, though – phone even .EPUB files are already too exotic to be indexed by the media store), they've broken simple file sharing between multiple apps and effectively encourage apps to create their own private copy of such files, which is bonkers and for larger files unnecessarily takes up time and storage space, they've especially broken sharing multi-file file formats between apps (especially including the case of using a file manager app to browse through your storage and then directly open such a file in another app), …

I suppose the most common "regular user" scenarios sort of mostly work (except possibly for some performance overhead in some cases), but for more "power user"-like usage scenarios it's all too easy too run into all sorts of edge cases, limitations, and bugs that break your workflows.

Where is this "own external storage directory"?

The behavior you describe is not what I experience in real life. I see apps being able to read and write from all directories on my SD card.

Either you have Android <10, or you have an unofficial ROM, or the manufacturer decided to do weird things to the system for some reason.