Android 使用shell screencap / screenshot命令截屏

西门磊
2023-12-01

在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

 类似资料: