2012-01-08 9 views
6

Khi tôi sử dụng trình duyệt, tôi muốn lưu ảnh chụp màn hình của trang web mà tôi đã truy cập. Bởi vì một số trang biến mất trong tương lai. Vì vậy, tôi quyết định làm một dịch vụ nền mà sẽ làm cho các ảnh chụp màn hình trong khoảng thời gian thường xuyên khi tôi truy cập vào trang web nói www.site.com. Ai có thể cho tôi lời khuyên, liên kết đến hướng dẫn, ví dụ, ...?Ảnh chụp màn hình từ dịch vụ nền của một ứng dụng khác (theo chương trình)

P.S. Điện thoại của tôi đã được root. Android 2.1. và không nói rằng nó là không thể :)

UPDATE:

Ảnh chụp màn hình ở định dạng JPG hoặc HTML mà không có một sự khác biệt. Phương pháp dễ thực hiện hơn.

+1

Ảnh chụp màn hình trong PNG/JPG hoặc ảnh chụp màn hình HTML? Nếu trước đây, hãy sử dụng PictureListener # onNewPicture() từ chuỗi giao diện người dùng của bạn, sau đó gửi nó đến dịch vụ. –

Trả lời

10
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(); 

    then read img.png as bitmap and convert it jpg as follows 

Bitmap screen = BitmapFactory.decodeFile(Environment.getExternalStorageDirectory()+ File.separator +"img.png"); 

//my code for saving 
     ByteArrayOutputStream bytes = new ByteArrayOutputStream(); 
     screen.compress(Bitmap.CompressFormat.JPEG, 15, bytes); 

//you can create a new file name "test.jpg" in sdcard folder. 

File f = new File(Environment.getExternalStorageDirectory()+ File.separator + "test.jpg"); 
       f.createNewFile(); 
//write the bytes in file 
     FileOutputStream fo = new FileOutputStream(f); 
     fo.write(bytes.toByteArray()); 
// remember close de FileOutput 

     fo.close(); 
+1

chỉ hoạt động trên điện thoại bắt nguồn – Gabor

+0

Nếu bạn muốn truy cập ảnh chụp màn hình của một ứng dụng khác, bạn cần quyền root. Tôi hy vọng câu hỏi là như vậy ... –

+0

và những gì về điện thoại không bắt nguồn từ ?? –