Wie mache ich programmgesteuert einen Screenshot einer anderen App ohne Root-Berechtigung, wie zum Beispiel Screenshot UX Trial?

Wie mache ich programmgesteuert einen Screenshot einer anderen App ohne Root-Berechtigung, wie zum Beispiel Screenshot UX Trial?

Ich weiß, dass ich die Bitmap der Stammansicht in meiner App erfassen kann. Ich kann die Stammansicht der anderen App jedoch nicht abrufen, wenn meine App im Hintergrund ausgeführt wird

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

Es gibt eine Berechtigung zum Erfassen des aktuellen Frame-Puffers in Manifest:android.permission.READ_FRAME_BUFFER. Auf einigen Websites wird jedoch angegeben, dass es sich nur um Signatur-Apps handelt.

Überprüfen Sie die Android-Berechtigungen - Schutzstufen

Nachdem ich Screenshot UX Trial ausprobiert habe, habe ich die Erlaubnis gelesen:

INTERNET: Zum Herstellen einer Verbindung zum localhost-Screenshot-Server für verwurzelte Telefone.SYSTEM_ALERT_WINDOW: für die oberste Kamerataste.VIBRATE: für vibrierende Rückkopplung.WRITE_EXTERNAL_STORAGE: um den Screenshot zu speichern.GET_TASKS: zum Erkennen der Vordergrundentwicklungs-Einstellungsaktivität für nicht verwurzelte und nicht vorinstallierte Erfassungsmethoden.

Es scheint auch soSYSTEM_ALERT_WINDOW oderGET_TASKS Erlaube der App Screenshots zu machen. Ich habe zwei Vermutungen, wie es funktioniert:

Es kann in der Lage sein, auf dieActivity der Vordergrundaktivität erhält es die Stammansicht derActivity, erfassen Sie den Screenshot.Berufungglreadpixels

Wenn Sie es mit einer meiner Vermutungen versuchen, teilen Sie mir bitte das Ergebnis mit.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage