2011-09-22 36 views
11

Tôi muốn chụp ảnh màn hình toàn màn hình theo chương trình, ví dụ, một trong các màn hình chính của Android hoặc một menu. Làm thế nào tôi có thể xem được màn hình chính trong ứng dụng của mình? Tôi muốn thực hiện theo chương trình !!! Nó không quan trọng nếu nó đòi hỏi chế độ gốc!Làm cách nào để chụp ảnh màn hình theo chương trình?

Giúp tôi làm hài lòng và xin lỗi vì tiếng Anh của tôi!

+0

Rất tiếc! Chỉ cần nhận ra (sau khi đăng câu trả lời của tôi tất nhiên -_-): Bạn có nghĩa là từ một ứng dụng Android? –

+8

Tôi muốn mang nó theo chương trình! – Nolesh

+1

Điều gì về câu hỏi này http://stackoverflow.com/questions/2661536/screenshot-android – Tima

Trả lời

13

Sử dụng đoạn mã sau

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

Đây MyView là Xem qua đó chúng ta cần phải đưa vào màn hình.

+6

Điều này chỉ chụp ảnh màn hình của ứng dụng đang hoạt động. Không phải toàn bộ màn hình Android. –

+0

@NguyenMinhBinh .. hãy xem ..http: //stackoverflow.com/questions/3067586/how-to-capture-the-android-device-screen-content/8504958#8504958 ..... điều này có thể hữu ích bạn ... –

6

Thực hiện theo các liên kết https://code.google.com/p/android-screenshot-library/downloads/list nó cho phép bạn toàn bộ ảnh chụp màn hình của bất kỳ màn hình không chỉ ứng dụng của bạn

adb shell/system/bin/screencap -p /sdcard/img.png đây là một lệnh shell mất ảnh chụp màn hình đơn giản và nhanh chóng

Hãy thử điều này

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

Tôi có 2 thiết bị (Android v2.2 & v2.3.3) không có tệp 'screencap' trong thư mục'/system/bin'. Vì vậy, nó không phù hợp với tôi. – Nolesh

+0

@ares u có thể thử liên kết ở trên. –

+0

u sẽ mô tả cz tôi đã thử nhưng tôi không nhận được kết quả? –

0

Trong adb shell bạn có thể sử dụng lệnh như

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

Tôi tìm thấy mã này trên hướng dẫn này trên How to take a screenshot on Android. Bạn có thể tham khảo để biết thêm chi tiết.Hy vọng điều này sẽ hữu ích.

Các vấn đề liên quan