我已经有了一个方法,可以截取我的应用程序窗口的截图,但自然这并没有真正给我在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制作屏幕截图的方式,当按下电源和音量按钮here和here时,它会很漂亮(可能不会太快)。
我可以在我的应用中使用此服务,如果可以,我该怎么办?看一下我尝试过的源代码,可能只需要一些代码就可以保存整个屏幕而不需要通知和动画(并且还有我确定目标文件夹的额外奖励)但是我有点迷失到了我的确切位置。需要。 谢谢。