V Androidu 11 mohou aplikace navrhovat přesunutí smazaných fotografií a videí do skrytého koše. Vyhozené položky tak dočasně zůstanou v zařízení.
Google se snaží udržet situaci mimo kontrolu úložiště aplikací pomocí „Scoped Storage“. Scoped Storage bylo představeno v Androidu 10 ale od svého debutu byl několikrát změněn kvůli tomu, jak dramaticky ovlivňuje přístup k úložišti pro mnoho Androidů aplikací. Google prosazuje Scoped Storage pro aplikace, které cílí na úroveň API 30, což je nejnovější úroveň API, která se shoduje s Androidem 11.
Spíše než se o to snažit znovu vysvětlete Scoped Storage, zde je grafika od společnosti GoogleVše o ochraně osobních údajů v systému Android 11“ přednáška, která shrnuje, jak Scoped Storage ovlivní přístup k úložišti pro aplikace v Androidu 11.
Jednou ze zajímavějších změn v přístupu k úložišti, která se dosud objevila pod radarem, je zavedení nového mechanismu „vyhazování“. Tato funkce je podrobně popsána v „Přístup k úložišti se systémem Android 11
"video." V podstatě aplikace využívající MediaStore API může soubor vyhodit do koše místo jeho smazání, aby měl uživatel možnost soubor později obnovit. Google tuto funkci přirovnává ke koši na počítačích, kromě toho, že koš pro Android je ve výchozím nastavení skrytý. Google uvádí, že aplikace s přístupem k úpravám souborů v koši nebo požadující souhlas uživatele mohou zobrazovat položky z koše. Položky, které jsou v koši, Android automaticky smaže po 30 dnech.Android 11 také vyžaduje, aby aplikace získaly souhlas uživatele před úpravou mediálních souborů, které aplikace nevlastní. Další novou funkcí, která byla přidána, jsou „oblíbené“, což umožňuje mediálním aplikacím přidat „oblíbený“ soubor stav určeným mediálním položkám, aby ostatní mediální aplikace věděly, že uživatel tyto položky vidí jako Důležité. Pokud například uživatel označí položku v aplikaci galerie hvězdičkou, ostatní mediální aplikace uvidí, že tato položka byla zařazena mezi oblíbené.
Ačkoli diskuse Google neukazuje příklad nového konceptu koše MediaStore, API je k dispozici od prvního náhledu pro vývojáře Android 11. Vývojář Yuriy Mysochenko publikoval an článek na Medium v únoru, které se týká tohoto nového rozhraní API, a předvedl rozhraní API ve vzorové aplikaci, jak je uvedeno níže:
V této ukázce se aplikace zeptala uživatele, zda chce přesunout fotografii do koše, což by dočasně odstranilo fotografii z galerie. Po 7 dnech bude fotografie trvale smazána z úložiště. Googler Roxanna Aliabadi zmiňuje, že operační systém uchovává vyhozené položky po dobu 30 dnů, takže 7denní limit úložiště byl pravděpodobně zvýšen od prvního Developer Preview.
Vývojáři, kteří mají zájem o implementaci tohoto rozhraní API, si nyní mohou prohlédnout dokumentaci na webu Android Developers. Mediální aplikace mohou vytvořit PendingIntent s názvem createTrashRequest vyzve uživatele, aby vyhodil položku do koše, který pak přidá příznak IS_TRASHED označující, že mediální položka byla vyhozena do koše. Vyhozené položky jsou uchovávány operačním systémem do DATE_EXPIRES, poté jsou trvale odstraněny z úložiště. Mediální aplikace dotazující se na MediaStore se musí explicitně dotazovat na položky v koši pomocí QUERY_ARG_MATCH_TRASHED protože položky v koši jsou ve výchozím nastavení odfiltrovány z operací.
Pokud se vaše aplikace zabývá přístupem k úložišti, můžete si (a měli byste) poslechnout tuto celou přednášku na Scoped Storage: