2011-09-22 17 views
11

Chcę programowo zrobić zrzut ekranu na pełnym ekranie, na przykład jeden z ekranu głównego systemu Android lub menu. Jak mogę uzyskać widok ekranu głównego w mojej aplikacji? Chcę go programowo! Nie ma znaczenia, czy wymaga trybu root!Jak programować zrzut ekranu?

Proszę mi pomóc i przepraszam za mój angielski!

+0

O rany! Właśnie sobie uświadomiłem (po zaksięgowaniu mojej odpowiedzi oczywiście -_-): Masz na myśli z aplikacji na Androida? –

+8

Chcę go programowo! – Nolesh

+1

Co z tym pytaniem http://stackoverflow.com/questions/2661536/screenshot-android – Tima

Odpowiedz

13

użyć poniższy kod

Bitmap bitmap; 
View v1 = MyView.getRootView(); 
v1.setDrawingCacheEnabled(true); 
bitmap = Bitmap.createBitmap(v1.getDrawingCache()); 
v1.setDrawingCacheEnabled(false); 

Tutaj MyView jest widok przez które musi zawierać w ekranie.

+6

To tylko zrzut ekranu z aktywnej aplikacji. Nie cały ekran Androida. –

+0

@NguyenMinhBinh .. proszę spojrzeć..http: //stackoverflow.com/questions/3067586/how-to-capture-the-android-device-screen-content/8504958#8504958 ..... to może pomóc ty ... –

6

Śledź link https://code.google.com/p/android-screenshot-library/downloads/list pozwala cały zrzut dowolnego ekranu nie tylko swoją aplikację

adb shell/system/bin/SCREENCAP -p /sdcard/img.png Jest to powłoka poleceń screenshota prosta i szybka

Spróbuj

Process sh = Runtime.getRuntime().exec("su", null,null); 
    OutputStream os = sh.getOutputStream(); 
    os.write(("/system/bin/screencap -p " + "/sdcard/img.png").getBytes("ASCII")); 
      os.flush(); 
      os.close(); 
      sh.waitFor(); 
+0

Mam 2 urządzenia (Android v2.2 i v3.3.3), które nie mają pliku 'screencap' w katalogu'/system/bin'. Więc nie pasuje do mnie. – Nolesh

+0

@ares możesz wypróbować powyższy link. –

+0

chciałbyś bardziej opisać cz próbowałem, ale nie dostaję wyniku? –

0

W adb shell można użyć polecenia jako

adb shell screencap -p /sdcard/screen.png 
adb pull /sdcard/screen.png 
adb shell rm /sdcard/screen.png 

Znalazłem ten kod na tym przewodniku pod numerem How to take a screenshot on Android. Możesz go polecić, aby uzyskać więcej informacji. Pomoże to.