androidのスクリーンショットのコードの書き方

Androidでは、以下のコードを用いることでスクリーンショットが取得できます。

private void takeScreenshot() {
// 获取屏幕视图
View view = getWindow().getDecorView().getRootView();
// 创建Bitmap对象并指定大小
Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
// 创建Canvas对象,并将Bitmap与其关联
Canvas canvas = new Canvas(bitmap);
// 将屏幕视图绘制到Canvas上
view.draw(canvas);
// 保存截屏图片
try {
// 指定保存路径和文件名
String filePath = Environment.getExternalStorageDirectory() + "/screenshot.png";
File file = new File(filePath);
// 创建文件输出流
FileOutputStream fos = new FileOutputStream(file);
// 将Bitmap对象压缩为PNG格式,并写入文件输出流
bitmap.compress(Bitmap.CompressFormat.PNG, 100, fos);
// 刷新文件输出流
fos.flush();
// 关闭文件输出流
fos.close();
Toast.makeText(this, "截屏已保存至" + filePath, Toast.LENGTH_SHORT).show();
} catch (IOException e) {
e.printStackTrace();
}
}

スクリーンショットのメソッドを呼び出すには、AndroidManifest.xml ファイルに適切なパーミッションを追加する必要があります。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

takeScreenshot()メソッドが呼び出されると、現在の画面の内容がPNG形式の画像として保存され、デバイスの外部ストレージディレクトリに保存され、保存パスを示すToastのヒントが表示されます。

bannerAds