Android 截屏(只需要引用jar包,需要root),利用/dev/graphics/fb0命令行实现

前一阵子做截屏功能,找到一个很好用的jar包(AndroidScreenCap.jar),
下载自https://github.com/Android-ScreenShot/AndroidScreenShotService
优势:退出应用之后仍然能够截屏;
    图片清晰(200k左右);
    控制灵活
条件:Root


我只在android4.0之后的版本测试过,效果很好;但是android4.0之前的版本没有测试过,不过根据原来来说是所有android版本都支持的


在这里简单介绍一下该jar包的用法:

jar文件导入自己的项目,调用函数名: takeScreenshot(Context context, String fileFullPath) 如果文件完整的路径为空,方法会以当前时间自动创建文件名并保存在/data/local/tmp文件夹下

上下文.takeScreenshot(Context context, String fileFullPath)

我的测试Demo,点击按钮--开启服务(截屏)
public static  void shoot(){  
    try {  
    /************ 创建锁对象 ************/
           final Object lock = new Object();
           
        synchronized (lock) {
        long start=System.currentTimeMillis();
        Bitmap bitmap=getScreenShotBitmap();
            long end=System.currentTimeMillis();
            Log.i(TAG, "getScreenShotBitmap time is :"+(end-start)+" ms");
            String filePath= "/sdcard"+"/aaaaaa/"+System.currentTimeMillis()+".png";
           ScreenShotFb.savePic(bitmap,filePath);  
        }
         }catch (Exception e) {  
          Log.e(TAG, "Exception error",e);
         }  
    } 

点击下载我的Demo


你可能感兴趣的:(android,shot,截屏,jar包引用)