什么Android代码模仿屏幕截图功能(音量降低和电源按钮同时)?

时间:2016-08-07 05:37:07

标签: java android screenshot

我正在寻找一种以编程方式截取android设备截图的方法。我已经在stackoverflow中查看了几个涉及运行活动截图的解决方案。我想通过同时按下音量降低和电源按钮来模仿Android中触发的默认行为。请注意,我不想截取我自己的活动或运行活动的屏幕截图。例如,我希望用按钮启动一个对话框活动,当点击该按钮时,我完成了我的活动,并启动了一个后台任务,该任务将截取包括状态栏在内的可见部分的屏幕截图,例如保持音量减小和权力。我如何实现这一目标?

1 个答案:

答案 0 :(得分:-2)

如果您正在拍摄另一个活动的屏幕截图,您将以某种方式获得对视图的引用,该视图包含您要截屏的屏幕部分或仅捕获整个屏幕。如果它是整个屏幕,你可以用

获得
// get the top level view from the activity in this context
View theView = getWindow().getDecorView();

然后,要将该视图捕获为位图,您可以使用

// Take the Screen shot of a View
public static Bitmap takeScreenshot(final View theView) {
    theView.setDrawingCacheEnabled(true);
    return theView.getDrawingCache();
}    

// Release the drawing cache after you have captured the Bitmap
// from takeScreenshot()
public static void clearScreenshotCache(final View theView) {
    theView.setDrawingCacheEnabled(false);
}

从那里,您可以通过调用位图上的.compress将位图保存为JPEG或PNG。

至于在后台线程上运行任务,有足够的文档介绍了here等几种方法。

希望能让你开始!