我需要将"活动"内容保存到.pdf文件中。有点像屏幕截图。我可以使用以下代码将活动的各个视图保存到文件中:
PdfDocument document = new PdfDocument();
PdfDocument.PageInfo pageInfo = new PdfDocument.PageInfo.Builder(600,300, 1).create();
PdfDocument.Page page = document.startPage(pageInfo);
View content = findViewById(R.id.editText1);
content.draw(page.getCanvas());
document.finishPage(page);
但是如何保存(打印屏幕)整个活动,而不仅仅是一个视图?
谢谢。
您可以使用给定的代码截取当前活动的屏幕截图
public void saveBitmap(Bitmap bitmap) {
File imagePath = new File(Environment.getExternalStorageDirectory() + "/screenshot.png");
FileOutputStream fos;
try {
fos = new FileOutputStream(imagePath);
bitmap.compress(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);
}
}
并确保授予清单中存储的写入权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />