Android 使用shell screencap / screenshot命令截屏

在Android里可以通过使用shell命令来截屏,一般用于应用程序外截屏,需要root权限。

1)在PC上使用cmd命令截屏

adb shell screencap -p /sdcard/123.png

或者

adb shell screenshot /sdcard/123.png

以上命令的意思是截取当前屏幕,以文件名123.png保存到sdcard目录下。

2)在Android应用里面截屏

    /**
     * 
     * @param path 图片保存路径
     */
    public void screenshot(String path){
    	Process process = null;
    	try{
    	    process = Runtime.getRuntime().exec("su");
    	    PrintStream outputStream = null;
    	    try {
    	        outputStream = new PrintStream(new BufferedOutputStream(process.getOutputStream(), 8192));
    	        outputStream.println("screencap -p " + path);
    	        outputStream.flush();
    	    }catch(Exception e){
    	        e.printStackTrace();
    	    } finally {
    	        if (outputStream != null) {
    	            outputStream.close();
    	        }
    	    }
    	    process.waitFor();
    	}catch(Exception e){
    	    e.printStackTrace();
    	}finally {
    	    if(process != null){
    	        process.destroy();
    	    }
    	}
    }

要给AndroidManifest.xml加上权限

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

详细见:https://www.zybuluo.com/olunx/note/18021

转载于:https://my.oschina.net/u/2241960/blog/330485

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值