Google w przyszłym miesiącu w końcu umożliwi aplikacjom żądanie dostępu do wszystkich plików w systemie Android 11

Firma Google w końcu ogłosiła, kiedy zezwoli menedżerom plików i innym aplikacjom przeznaczonym na Androida na żądanie pozwolenia na dostęp do wszystkich plików.

Google zaczął wysyłać e-maile do programistów, których aplikacje żądają szerokiego dostępu do pamięci urządzenia. Z e-maila wynika, że ​​programiści od 5 maja muszą informować Google, dlaczego ich aplikacja żąda szerokiego dostępu do pamięci, w przeciwnym razie nie będą mogli publikować aktualizacji przeznaczonych dla Androida 11.

Przed wersją Androida 11 aplikacje mogły żądać szerokiego dostępu do pamięci urządzenia, deklarując uprawnienie READ_EXTERNAL_STORAGE w swoim manifeście i prosząc użytkownika o jego przyznanie. Prosiło o to wiele aplikacji, które nie miały uzasadnionej potrzeby odczytywania wszystkich plików przechowywanych w pamięci urządzenia to pozwolenie, co powoduje, że Google zawęża uprawnienia dostępu do pamięci za pomocą „pamięci o ograniczonym zakresie” w systemie Android 11 zmiany. Jednak w przypadku aplikacji, które zgodnie z prawem potrzebują szerszego dostępu do pamięci, takich jak menedżery plików, Google zachęcił ich do dalszego wybierania Androida 10 (poziom API 29) i żądania dostępu do „starszej” pamięci przez deklarując

requestLegacyExternalStorage=true w ich Manifeście.

Dostęp do starszych wersji umożliwia aplikacjom szeroki dostęp do pamięci urządzenia bez narażania się na niebezpieczeństwo Ograniczenia dotyczące przechowywania w określonym zakresie. Jednak wszystkie aplikacje przeznaczone dla systemu Android 11 (poziom interfejsu API 30) i nowszego podlegają ograniczeniom dotyczącym ograniczonej pamięci masowej i nie mogą żądać starszego dostępu do pamięci urządzenia. Zamiast tego muszą poprosić o nowe pozwolenie o nazwie MANAGE_EXTERNAL_STORAGE (pokazywane użytkownikowi jako „Wszystkie pliki Access”), aby uzyskać szeroki dostęp do pamięci (z wyjątkiem kilku katalogów, takich jak /Android/data lub /Android/obb).

Od listopada 2021 r. wszystkie aplikacje i aktualizacje aplikacji przesyłane do Google Play muszą być przeznaczone dla systemu Android 11, co oznacza, że ​​aplikacje i menedżery plików inne aplikacje, które potrzebują szerszego dostępu do pamięci, muszą ostatecznie przejść na model pamięci o określonym zakresie i zażądać dostępu do wszystkich plików pozwolenie. Jedynym problemem jest to, że Google obecnie nie pozwala programistom żądać pozwolenia „Dostęp do wszystkich plików”. Google wcześniej powiedział, że chce deweloperów do podpisania formularza deklaracji zanim aplikacja będzie dopuszczona w Google Play. Ten formularz deklaracji ma umożliwić Google wyeliminowanie aplikacji, które nie wymagają „dostępu do wszystkich plików”, podobnie jak Google ogranicza dostęp do SMS-y, rejestr połączeń, oraz QUERY_ALL_PACKAGES uprawnienia.

Chociaż firma Google ogłosiła zamiar nakłonienia programistów do podpisania formularza deklaracji już w listopadzie 2019 r., nadal nie udostępniła tych formularzy deklaracji. Firma przytoczyła wyzwania związane z siłą roboczą wynikające z pandemii Covid-19 i uzasadniła je odroczenie zezwolenia aplikacjom przeznaczonym na Androida 11 i zażądanie przesłania „Dostępu do wszystkich plików”. Google Play. Google ustalić bliżej nieokreśloną datę „początek 2021 r.” kiedy otworzą formularz deklaracji.

Teraz wreszcie Google to zrobił zaczął informować programistów kiedy aplikacje mogą faktycznie poprosić o pozwolenie „Dostęp do wszystkich plików”. Wiadomość e-mail wysyłana do programistów jest myląco sformułowana, ale a nowo opublikowana strona pomocy technicznej dodaje trochę przejrzystości. Według strony pomocy, aplikacje przeznaczone dla Androida 11 i żądające „Dostępu do wszystkich plików” w końcu mogą można przesyłać do Google Play od maja 2021 r., czyli prawdopodobnie wtedy, gdy formularz deklaracji zostanie udostępniony. Aby zapoznać się z listą dozwolonych zastosowań, wyjątków i nieprawidłowych zastosowań „Dostępu do wszystkich plików”, a także sugerowanymi alternatywnymi interfejsami API, odwiedź stronę pomocy Google.