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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值