Screenshot from background service of another appl

2020-01-29 07:50发布

问题:

When I use the browser I want to save screenshots of the site that I visited. Because some pages disappear in the future. So I decided to do a background service that would make the screenshots at regular intervals of time when I visit the site say www.site.com. Who can give me any tips, links to tutorials, examples, ...?

P.S. My phone is rooted. Android 2.1. and do not say that it is impossible :)

UPDATE:

Screenshots in JPG format or HTML without a difference. The method which is easier to make.

回答1:

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


回答2:

  • https://market.android.com/details?id=com.edwardkim.android.screenshotitfullnoroot&hl=en

    Doesn't need to be rooted.

  • http://maketecheasier.com/take-screenshots-on-android-phone/2010/07/16

    Would need to be rooted.

Worst case scenario you can use android SDK while plugged in via USB and take screen shots.