2016-05-13 5 views
0

Dieser Code funktioniert gut mit Aktivität, aber nicht im Dienst.Unter Verwendung von Auto-Bildschirmfoto mit Diensten in Android

View v1 = getWindow().getDecorView().getRootView(); 
        v1.setDrawingCacheEnabled(true); 
        myBitmap = v1.getDrawingCache();` 
+1

Bitte erklären Sie ** genau ** was Sie mit "aber nicht im Dienst" meinen. – CommonsWare

+1

Fügen Sie auch Informationen hinzu, was genau Sie tun möchten – singularity

+0

Weil es nicht den Anwendungskontext in Ihrem Dienst hat .. !! –

Antwort

1

Zur Erfassung ScreenShot für Ihre Tätigkeit Sie einen Blick auf Ihre Tätigkeit benötigen haben, und das ist in Ihrem Dienst nicht vorhanden, so dass Sie eine Timertask machen, die Ihre Tätigkeit zu jeder Stunde anrufen und Ihre Aktivität antworten Sie mit der aktuellen erscheinenden Ansicht und Sie können den ScreenShot davon aufnehmen. (Ich denke, das ist nur die Lösung für Ihr Problem.)

Oder Wenn Sie eine Bildschirmaufnahme von Ihrem aktuellen Gerät Bildschirm (jede Anwendung) nehmen möchten, dann müssen Sie root-Berechtigung, und lesen framebuffer für das, was roh geben wird Daten des aktuellen Bildschirms konvertieren Sie dann in Bitmap oder jede Bilddatei, die Sie in Ihrem Dienst tun können.

Verwandte Themen