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:
Activity
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.