Androidでキャプチャした画像のパスを取得する方法


  1. カメラアプリを使用して画像をキャプチャする場合: カメラアプリを起動し、ユーザーが画像をキャプチャすると、その画像はデフォルトの保存場所に保存されます。保存場所は通常、外部ストレージの特定のディレクトリです。以下のコード例では、キャプチャされた画像のパスを取得する方法を示します。
private String getCapturedImagePath() {
    String imagePath = null;
    String[] projection = { MediaStore.Images.Media.DATA };
    Cursor cursor = getContentResolver().query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, projection, null, null, null);
    if (cursor != null && cursor.moveToLast()) {
        int columnIndex = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        imagePath = cursor.getString(columnIndex);
        cursor.close();
    }
    return imagePath;
}

上記のメソッドを使用すると、キャプチャされた最新の画像のパスが取得できます。

  1. Viewをキャプチャして画像を保存する場合: Viewをキャプチャして画像を作成し、それを保存する場合、保存先のパスを指定する必要があります。以下のコード例では、キャプチャした画像を指定したパスに保存する方法を示します。
private void saveCapturedImage(Bitmap capturedImage, String filePath) {
    File file = new File(filePath);
    try {
        FileOutputStream fos = new FileOutputStream(file);
        capturedImage.compress(Bitmap.CompressFormat.JPEG, 100, fos);
        fos.flush();
        fos.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

上記のメソッドを使用すると、指定したパスにキャプチャした画像が保存されます。

以上の方法を使用すると、Androidアプリでキャプチャした画像のパスを取得することができます。