如何以编程方式在Android手机上执行屏幕捕获?
答案 0 :(得分:4)
除非在root手机上,否则你无法通过Android应用程序执行此操作,因为您无权访问帧缓冲设备。
然而,您可以通过开发机器的DDMS窗口在adb上执行此操作,因为adb在具有帧缓冲区权限的图形组中运行。
如果您想在root设备上使用本机代码执行类似的操作,请查看adb守护程序的源代码。
编辑:看起来这可能正在改变,并且在最近的Android版本中可能存在非root功能,但我不确定细节。答案 1 :(得分:1)
以下是如何将视图转换为位图的示例。只需抓住你的顶视图就可以了。这绝对有效,你绝对不需要有根设备!
http://www.brighthub.com/mobile/google-android/articles/30676.aspx
答案 2 :(得分:0)
尝试这样的事情:
View v1=childView.getRootView();
v1.setDrawingCacheEnabled(true);
Bitmap bm=v1.getDrawingCache();
if(bm!=null){
//save the file
}