Lead Android Dev/Enthusiast
Gaurav is a seasoned mobile dev with 11+ years experience currently working in Maersk(shipping conglomerate). He has worked in healthcare apps for more than six years targeting different spectrum of users right from Radiologists to Wardboys specifically for US & Canada. As an android enthusiast, he is fond of connecting with the community and spends time as a weekend trainer with Edureka for new entrants in mobile ecospace. Gaurav is a regular attendee and participant of GDG BlrDroid at Bangalore.
Making Apps ready for scoped storage coming in Android Q
When Android Q Beta 1 was released, the main surprising change for developers was what Google calls “scoped storage”. The main two reasons for making this change: Security & to reduce leftover “app clutter”. In brief, our ability to work
with files and filesystems will get substantially curtailed, even for apps with a targetSdkVersion of 28 or lower.
However in subsequent Android Q beta releases 4 & 5, it has now been finalised that Apps can either have normal or legacy storage.
With legacy storage, everything behaves as it did in Android 4.4 through 9.0. Without legacy storage, apps still can use getExternalFilesDir() and similar directories without permissions. However, the rest of external storage appears to be inaccessible via filesystem APIs. As per documentation :
“An app that has a filtered view always has read/write access to the files that it creates, both inside and outside its app-specific directory”
The idea is that we should start adapting now. For some apps, switching to the Storage Access Framework (e.g. ACTION_OPEN_DOCUMENT) will be easy. For some apps, it will be painful. We must not wait until 2020, as mentioned in documentation. We should Start migrating our apps now to use the alternative approaches. Through this talk we will try to assess different approaches to be adopted for the changes coming via scoped storage and making sure that apps continue to work seamlessly.