【发布时间】:2015-07-24 13:42:03
【问题描述】:
我创建了一个按钮来捕获 Web 视图的屏幕截图并将其保存到 DCIM 中的文件夹中。问题是当我单击按钮时,屏幕截图会被捕获并保存在图库中,但是当我再次单击时,旧屏幕截图会以新名称再次保存。
这是我的代码。请帮忙
screenshot.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Bitmap bitmap = takeScreenshot();
saveBitmap(bitmap);
}
});
public Bitmap takeScreenshot() {
mWebview.setDrawingCacheEnabled(true);
return mWebview.getDrawingCache();
}
public void saveBitmap(Bitmap bitmap) {
Random r = new Random();
long i1 = r.nextInt(9999-9) + 9;
char[] chars = "ABCDEF".toCharArray();
StringBuilder sb = new StringBuilder();
Random random = new Random();
for (int i = 0; i < 20; i++) {
char c = chars[random.nextInt(chars.length)];
sb.append(c);
}
File directory = new File(Environment.getExternalStorageDirectory() + "/DCIM/NCERT Stuff/");
if(!directory.exists()) {
directory.mkdirs();
}
File imagePath = new File(Environment.getExternalStorageDirectory() + "/DCIM/NCERT Stuff/NCERT"+i1+sb+".jpeg");
// sendBroadcast(new Intent(Intent.ACTION_MEDIA_SCANNER_SCAN_FILE, Uri.fromFile(imagePath)));
FileOutputStream fos;
try {
fos = new FileOutputStream(imagePath);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, fos);
fos.flush();
fos.close();
} catch (FileNotFoundException e) {
Log.e("GREC", e.getMessage(), e);
} catch (IOException e) {
Log.e("GREC", e.getMessage(), e);
}
}
【问题讨论】:
标签: android webview screenshot