# Screenshot übergreifend bei erstellen (No-Root)



## franzy (23. Feb 2021)

Hallo,

ich möchte ein Screenshot erstellen können von einer App die auf dem Gerät läuft. D.h. das was gerade angezeigt wird aber unabhängig von der eigenen App in der der Code läuft. Ich habe jetzt schon einige Ansätze verwendet, wie Services usw. Leider erfordern vieles davon Root Rechte oder funktioniert einfach nicht.

Die Geräte haben alle SDK 29 die wir im Einsatz haben.

Ich würde gerne nur wissen, ob das überhaupt möglich ist mit den neuen Androidsystemen. Ist ja eigentlich ein Sicherheitsrisiko.
Hintergrund der Aktion ist, grob zusammengefasst, dass wir ein System für eine Maschine haben, die überwacht werden soll und hierzu Screen automatisch aufgenommen werden sollen. Wie gesagt grob beschieben.

Grüße Franzy


----------



## kneitzel (23. Feb 2021)

Ab Lollipop (also ab SDK Level 21 und somit auch für euch nutzbar) gibt es die MediaProjection API:








						MediaProjection  |  Android Developers
					






					developer.android.com
				




Noch nicht als Service aber in einer App sieht das dann so aus:








						android-ScreenCapture/ScreenCaptureFragment.java at master · googlearchive/android-ScreenCapture
					

Migrated:. Contribute to googlearchive/android-ScreenCapture development by creating an account on GitHub.




					github.com
				



bzw. das Repo ist unter https://github.com/googlearchive/android-ScreenCapture
(Das ist mit anderen Dingen zusammen verschoben worden, aber da findet man es nicht so schnell ... da ist es schön einzeln).

Ich selbst habe es aber noch nicht genutzt, d.h. ich habe keine praktischen Erfahrungen, on und wie da die Berechtigung gespeichert werden kann oder ob man da immer den Nutzer um Erlaubnis fragen muss (dieses createScreenCaptureIntent). Das müsste man etwas ausprobieren. Ggf. ist dies nur beim Start notwendig oder so. Das habe ich jetzt nicht tiefer analysiert un dprobiert.


----------

