Jak programowo wykonać zrzut ekranu innej aplikacji bez uprawnień roota, na przykład z wersji próbnej Screenshot UX?

Jak programowo wykonać zrzut ekranu innej aplikacji bez uprawnień roota, na przykład z wersji próbnej Screenshot UX?

Wiem, że mogę przechwycić mapę bitową widoku głównego w mojej aplikacji. Ale nie mogę uzyskać widoku głównego innej aplikacji, gdy moja aplikacja działa w tle

bitmap = Bitmap.createBitmap(rootview.getDrawingCache());

Istnieje uprawnienie do przechwytywania bieżącego bufora ramki w Manifest:android.permission.READ_FRAME_BUFFER. Ale niektóre strony mówią, że jest to tylko aplikacja podpisu.

Sprawdź uprawnienia Androida - poziomy ochrony

Po wypróbowaniu wersji próbnej Screenshot UX przeczytałem pozwolenie:

INTERNET: do połączenia z serwerem zrzutów ekranu localhost dla ukorzenionego telefonu.SYSTEM_ALERT_WINDOW: dla najwyższego przycisku aparatu.VIBRATE: dla wibracji.WRITE_EXTERNAL_STORAGE: aby zapisać zrzut ekranu.GET_TASKS: do wykrywania pierwszoplanowej aktywności ustawiania Develoment dla metody przechwytywania bez rootowania i bez ładowania wstępnego.

Wygląda na toSYSTEM_ALERT_WINDOW lubGET_TASKS Pozwól aplikacji robić zrzut ekranu. Mam dwa przypuszczenia, jak to działa:

Może być w stanie uzyskać dostęp doActivity aktywności na pierwszym planie pobiera widok rootaActivity, zrób zrzut ekranu.Powołanieglreadpixels

Jeśli spróbujesz jednego z moich przypuszczeń, daj mi znać wynik.

questionAnswers(3)

yourAnswerToTheQuestion