找了一下午关于 android 截屏的资料,蛋疼

  1. 截取当前 Activity View, 关键代码

Viewview=activity.getWindow().getDecorView();view.setDrawingCacheEnabled(true);view.buildDrawingCache();Bitmapbitmap=view.getDrawingCache();

尝试将对应的 activity 主题换成透明的,发现截取不到肉眼看到的整个屏幕的部分,只有透明部分,个人感觉实用性不是太好

2.framebuffer 方式

文件位置 /dev/graphics/fb0

反正我是 打开不了这个文件 报的open failed: EACCES (Permission denied),

无奈还是 需要 root

Runtime.getRuntime().exec(newString[]{"su","chmod777/dev/graphics/fb0"});

网上参考代码挺多

InputStreamstream=newFileInputStream(file);DataInputStreamdStream=newDataInputStream(stream);dStream.readFully(piex)

执行到 readFully(piex) 就报 java.io.EOFException,尝试了几次 一样的结果,放弃了

3.调用系统 bin方法(不过这个机器也是需要root的)

网上一搜直接出来这个: http://stackoverflow.com/questions/8779700/screenshot-from-background-service-of-another-application-programmatically

简单贴下代码

Processprocess=Runtime.getRuntime().exec("su");OutputStreamos=process.getOutputStream();os.write(("/system/bin/screencap-p"+"/sdcard/img.png").getBytes("ASCII"));os.flush();os.close();process.waitFor();bitmap=BitmapFactory.decodeStream(newFileInputStream(newFile("/sdcard/img.png")));


4.asl 说明是enables to programmatically capture screenshots from Android devices without requirement of having root access privileges

眼前一亮,立刻下了个 资源文件

进到 run.sh 文件一看,发现这段$adb push ./asl-native /data/local/asl-native ,md 这不是又需要 root的嘛

没关系,继续adb shell /data/local/asl-native /data/local/asl-native.log 这一句的时候 就报了如下异常了

/system/bin/sh: /data/local/asl-native: not executable: magic 7F45 ,找了很久资料,未果 懒人果断放弃了

(有兴趣的同学可以研究下,解决了发个博客科普下呗,项目地址 https://code.google.com/p/android-screenshot-library/)


android screenshot background without root 貌似还没有一个好的解决方案

看了一天,水平有限 感觉就是第三种能勉强用用了 ,一天就这么过了 哎~


更多相关文章

  1. CreateProcess error = 2,系统找不到指定的文件
  2. Android 文件管理器 Android文件管理器源代码
  3. googleMap----放大,缩小,东南西北,四种视图切换代码
  4. 转:善用Android预定义样式来为我们的布局设置效果,大大节约代码量
  5. Android创建隐藏文件或者文件夹
  6. Android中的File文件存储及读取file中的Bitmap
  7. 在EeePC上运行Android!(转)(也是代码下载配置编译的流程!)
  8. Android利用drawable文件夹自定义控件背景、样式
  9. Android改变文件的权限

随机推荐

  1. android 退出机制
  2. android字体闪烁动画(线程)
  3. android应用程序设置全屏
  4. Android(安卓)2.2 单点触摸支持的问题
  5. 安卓版本和Api Level
  6. Android(安卓)P WiFi自动连接评分机制
  7. Android(安卓)activity的生命周期
  8. android > 布局文件 > 背景圆角
  9. ScrollView嵌套webview因焦点问题导致自
  10. [转]Iperf tool for Android