孔雀开发小屋

专注并致力于手机客户端开发
<2011年5月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

统计

  • 随笔 - 103
  • 文章 - 0
  • 评论 - 251
  • 引用 - 0

常用链接

留言簿(38)

随笔分类

随笔档案

关注的博客

朋友的博客

搜索

  •  

最新评论

阅读排行榜

评论排行榜

Android截图功能实现
android下截屏的思路很简单,就是去读framebuffer,android下framebuffer在/dev/graphics/fb0而不是linux下的/dev/fb0,读完以后保存图像数据到文件即可。至于保存成png格式还是jpg格式都可以,有相应的库支持就可以了。

我承认,我没有完全的把这个功能作完整,因为碰到了权限的问题。也就是在打开/dev/graphics/fb0这个文件因为没有权限的缘故而失败了,那么接下来的读取framebuffer的步骤也就没有办法执行了。

目前所能做到的则是将截屏程序编译成可执行程序,在有root权限的机器上执行这个可执行程序,运行正常。

当我把代码编译成动态链接库,在java端调用时,不能够成功。这是因为权限的问题,权限被屏蔽的这部分代码可以在android的源码:system/core/init/devices.c中找到,可以看到只有root用户或者属于graphics组的用户才可以访问/dev/graphics/fb0

不知道这个问题如何解决,如果有哪位哥们知道解决方案,盼望告诉我,先谢啦。

我就不发代码了,李先静的博客里面有个例子,可以直接使用。

posted on 2011-03-23 14:40 孔雀 阅读(9405) 评论(2)  编辑 收藏 引用 所属分类: Android

评论

# re: Android截图功能实现 2012-08-01 11:41 gg

那个链接没找到啊 ,楼主能不能贴下源码
  回复  更多评论    

# re: Android截图功能实现 2012-08-01 15:32 radardsp

手机root后,应用请求root权限并修改/dev/graphics/fb0权限为777即可
  回复  更多评论    

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理