1

スクリーンショットを撮ることができるアプリを開発していますが、それを可能にする次のコードを見つけました

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 を画像の場所に置いた後は機能しません

4

1 に答える 1

2

場合によっては、ファイル名に「:」文字を含めることは許可されていません。「.」に置き換えるとよいでしょう。また "-"。

編集:

これを試して:

os.write(("/system/bin/screencap -p " + "\"/sdcard/"+formattedDate+".png\"").getBytes("ASCII"));
于 2013-05-24T18:25:03.217 に答える