Ograniczone odczyty ekranu

W Androidzie 9 i starszych uprawnienia do przechwytywania bufora ekranu (READ_FRAME_BUFFER, CAPTURE_VIDEO_OUTPUTCAPTURE_SECURE_VIDEO_OUTPUT) były przyznawane aplikacjom, które miały podpięcie lub uprawnienia uprzywilejowane. Umożliwiało to płynne wykonywanie czynności związanych z przechwytywaniem bufora ekranu, takich jak robienie zrzutów ekranu czy nagrywanie zawartości ekranu urządzenia.

Od Androida 10 w celu zapobiegania dostępowi do treści na ekranie urządzenia bez pytania o zgodę uprawnienia do nagrywania filmów nie są przyznawane aplikacjom uprzywilejowanym. Dostęp bez zgody użytkownika jest ograniczony i przyznawany tylko aplikacjom, które mają uprawnienia do podpisywania. Ten wymóg dotyczy producentów urządzeń, na których działają aplikacje korzystające z funkcji cichego przechwytywania.

Od Androida 10, jeśli nie masz wymienionych uprawnień do rejestrowania sygnatury bufora ekranu, Twoja aplikacja nie może rejestrować buforów ekranu bez zgody użytkownika. Aby mieć pewność, że masz odpowiednie uprawnienia, wyszukaj w pliku pliku manifestu wymienione wcześniej uprawnienia dotyczące podpisu. Przenieś wszystkie aplikacje z podwyższonymi uprawnieniami (znalezione w wyszukiwarce) do klasy MediaProjectionManager, co umożliwia dowolnej aplikacji innej firmy przechwytywanie buforów ekranu bez uprawnień, ale za zgodą użytkownika. W ramach tego procesu wyświetla się okno, w którym użytkownik jest proszony o zezwolenie na przechwytywanie ekranu, gdy aplikacja go zainicjuje. W Androidzie 10 nowe funkcje okna dialogowego to:

  • zapewnia bardziej widoczne powiązania z ikoną Przesyłaj;
  • Zapewnia więcej informacji o poufności danych, do których można uzyskać dostęp.
  • Uniemożliwia użytkownikom ukrycie okna w przyszłości: okno będzie wyświetlane za każdym razem.