如何拍摄截图?

时间:2013-05-24 18:20:48

标签: android screenshot

我正在开发一个能够拍摄屏幕截图的应用程序,我发现以下代码可以让我这样做

Toast.makeText(this, formattedDate, Toast.LENGTH_SHORT).show();
Process sh = Runtime.getRuntime().exec("su", null,null);
OutputStream  os = sh.getOutputStream();
os.write(("/system/bin/screencap -p " + "/sdcard/img.png").getBytes("ASCII"));
os.flush();

它使用图像名称保存图像我可以在代码中更改它但我希望当前日期和时间作为名称。我尝试了这个:

Calendar c = Calendar.getInstance();
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = df.format(c.getTime());

但是将formattedDate放在图像的位置之后它不起作用

1 个答案:

答案 0 :(得分:2)

在某些情况下,不允许在文件名中包含“:”字符。您可能希望将其替换为“。”或“ - ”。

编辑:

试试这个:

os.write(("/system/bin/screencap -p " + "\"/sdcard/"+formattedDate+".png\"").getBytes("ASCII"));