【发布时间】:2020-11-14 21:50:44
【问题描述】:
从命令行运行命令:adb shell screencap /sdcard/image1.png 有效,截取屏幕截图并保存在图库中为“image1.png”
但这在语法上不起作用:
String[] commandAndArgs = new String[]{ "screencap", "/sdcard/qweqwe.
Process p = Runtime.getRuntime().exec(commandAndArgs);
不会抛出任何错误或异常
完整代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try{
String[] commandAndArgs = new String[]{ "screencap", "/sdcard/qweqwe.png" };
Process p = Runtime.getRuntime().exec(commandAndArgs);
String error = "error: ";
Scanner scanner = new Scanner(p.getInputStream());
while (scanner.hasNext()) {
error += scanner.nextLine();
}
Toast.makeText(this, error, Toast.LENGTH_LONG).show();
}catch (Exception e){
Log.e("err", Log.getStackTraceString(e));
}
}
【问题讨论】:
-
您无权在应用程序中运行任意内容。如果您想从应用中截取屏幕截图,请在 Android 5.0+ 上使用媒体投影 API。
标签: android adb runtime.exec