2

如何以编程方式在 Android 手机上执行屏幕截图?

4

3 回答 3

4

您无法从 Android 应用程序执行此操作,除非在有根手机上,因为您无权访问帧缓冲区设备。

但是,您可以从开发机器的 DDMS 窗口通过 adb 执行此操作,因为 adb 在有权访问帧缓冲区的图形组中运行。

如果您想在根设备上的本机代码中执行类似的操作,请查看 adb 守护程序的源代码。

编辑:看来这可能正在发生变化,并且在最近的 android 版本中可能存在非 root 功能,但我不确定细节。

于 2010-11-03T16:53:15.287 回答
1

下面是如何将视图转换为位图的示例。只需抓住您的顶视图并进行操作即可。这绝对有效,您绝对不需要为此拥有根设备!

http://www.brighthub.com/mobile/google-android/articles/30676.aspx

于 2011-03-03T05:42:43.377 回答
0

try something like this:

View v1=childView.getRootView();
v1.setDrawingCacheEnabled(true);
Bitmap bm=v1.getDrawingCache();
if(bm!=null){
    //save the file
}
于 2012-03-30T07:29:28.160 回答