如何使用Android的TakeScreenshotService截取屏幕截图?

时间:2015-11-19 14:08:04

标签: java android service screenshot surfaceview

我已经有了一个方法,可以截取我的应用程序窗口的截图,但自然这并没有真正给我在SurfaceViews上绘制的内容。取自其他地方的SO:

File directory = new File(Environment.getExternalStorageDirectory()+File.separator+"myFolder");
        directory.mkdirs();

        String path = directory.getAbsolutePath().toString()+"/"+ "something"+".jpeg";

        // create bitmap screen capture
        View v1 = getActivity().getWindow().getDecorView().getRootView();
        v1.setDrawingCacheEnabled(true);
        Bitmap bitmap = Bitmap.createBitmap(v1.getDrawingCache());
        v1.setDrawingCacheEnabled(false);

        File imageFile = new File(path);
        //displays my newly created file in file explorer when connected to a desktop
        MediaScannerConnection.scanFile(context, new String[]{path}, null, null); 

        FileOutputStream outputStream = new FileOutputStream(imageFile);
        int quality = 100;
        bitmap.compress(Bitmap.CompressFormat.JPEG, quality, outputStream);
        outputStream.flush();
        outputStream.close();

现在,我发现了Android制作屏幕截图的方式,当按下电源和音量按钮herehere时,它会很漂亮(可能不会太快)。

我可以在我的应用中使用此服务,如果可以,我该怎么办?看一下我尝试过的源代码,可能只需要一些代码就可以保存整个屏幕而不需要通知和动画(并且还有我确定目标文件夹的额外奖励)但是我有点迷失到了我的确切位置。需要。 谢谢。

0 个答案:

没有答案