以编程方式从服务中截取屏幕截图

Luk*_*kap 16 android screenshot image snapshot capture

这段代码很容易

Bitmap bitmap;
View v1 = MyView.getRootView();
v1.setDrawingCacheEnabled(true);
bitmap = Bitmap.createBitmap(v1.getDrawingCache());
v1.setDrawingCacheEnabled(false);
Run Code Online (Sandbox Code Playgroud)

并且效果很好,但如果有活动就是这种情况.

如何从服务中截取屏幕截图?

我的目标是在一小时内截取屏幕截图,ei以每小时关闭屏幕,例如在12中然后在1中然后在2中......依此类推

use*_*305 6

要为您的活动捕获ScreenShot,您需要进行一项View活动,并且您的服务中不存在哪一项活动,因此您必须制作一个TimerTask,它会在每个小时调用您的活动,并且您的活动会响应当前显示的视图和你可以抓住ScreenShot那个.(我认为这只是你问题的解决方案.)

或者如果你想拍摄当前设备屏幕的ScreenShot(任何应用程序),那么你必须获得root权限,然后读取framebuffer将提供当前屏幕原始数据的内容,然后将其转换为位图或任何图片文件,你可以在你的服务.