2013-05-24 4 views
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(); 

내가 코드에서 변경할 수 있음을 수행 할 수 있습니다 다음 코드를 찾았지만 내가 원하는 현재 날짜와 시간을 이름으로 사용합니다. 나는이 puttinge 시도 :

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

그러나 이미지의 장소에서 formattedDate 퍼팅 후 작동하지 않는

+1

무엇을 작동하지 않습니다

이가 시도? 이미지 캡처 또는 파일 이름 변경? –

+0

나는 정말로 그다지 몰랐다. 나는 단지 "/sdcard/"+formattedDate+".png"을했고 스크린 샷을 찍지 않았다. – user2304058

+0

이 블로그를 보자. http://dharmendra4android.blogspot.ie/2012/04/save- captured-image-to-applications.html 날짜를 얻은 다음 "new image"는 포맷 된 날짜를 대체합니다 –

답변

2

을 어떤 경우에 데 ":"파일 이름에 문자가 허용되지 않습니다. "."로 바꿀 수도 있습니다. 또는 "-".

편집 :

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

여전히 작동하지 않습니다 – user2304058

+0

"작업하지 않음"으로 무엇을 의미하는지 자세히 설명해주십시오 ... 오류가 있습니까? 또는 오류 및 파일 저장 없음? –

+0

답변이 업데이트되었습니다. 더 자세히 살펴 보면 쉘 명령에 공백이있는 것으로 보입니다. 그것이 내가 무슨 짓을했는지 지금 작업 –

관련 문제