From 55ae0b541a6b04f5001246153041f45af996809e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=8D=E3=82=80=E3=81=AD=E3=81=93?= Date: Thu, 21 Dec 2023 11:37:54 +0900 Subject: [PATCH] =?UTF-8?q?=E5=8F=96=E5=BE=97=E3=81=95=E3=82=8C=E3=82=8B?= =?UTF-8?q?=E7=94=BB=E5=83=8F=E3=81=AE=E8=A7=A3=E5=83=8F=E5=BA=A6=E3=81=8C?= =?UTF-8?q?=E4=BD=8E=E3=81=99=E3=81=8E=E3=82=8B=E3=81=AE=E3=81=A7=E4=BF=AE?= =?UTF-8?q?=E6=AD=A3=20WIP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ScannerDataManagerStubFragment.java | 24 +++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/component/scanner/src/main/java/one/nem/lacerta/component/scanner/ScannerDataManagerStubFragment.java b/component/scanner/src/main/java/one/nem/lacerta/component/scanner/ScannerDataManagerStubFragment.java index dd165939..222ecb82 100644 --- a/component/scanner/src/main/java/one/nem/lacerta/component/scanner/ScannerDataManagerStubFragment.java +++ b/component/scanner/src/main/java/one/nem/lacerta/component/scanner/ScannerDataManagerStubFragment.java @@ -10,6 +10,7 @@ import androidx.activity.result.contract.ActivityResultContracts; import androidx.fragment.app.Fragment; import androidx.recyclerview.widget.RecyclerView; +import android.os.Environment; import android.provider.MediaStore; import android.util.Log; import android.view.LayoutInflater; @@ -18,7 +19,12 @@ import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; +import java.io.File; +import java.io.IOException; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; +import java.util.Locale; /** * A simple {@link Fragment} subclass. @@ -73,8 +79,22 @@ public class ScannerDataManagerStubFragment extends Fragment { Log.d("ScannerDataManagerStubFragment", "button_call_camera clicked"); Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); if (takePictureIntent.resolveActivity(getActivity().getPackageManager()) != null) { - Log.d("ScannerDataManagerStubFragment", "camera available"); - cameraLauncher.launch(takePictureIntent); + File photoFile = null; + try { + String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss", Locale.getDefault()).format(new Date()); + String imageFileName = "JPEG_" + timeStamp + "_"; + File storageDir = getActivity().getExternalFilesDir(Environment.DIRECTORY_PICTURES); + photoFile = File.createTempFile(imageFileName, ".jpg", storageDir); + } catch (IOException ex) { + Log.e("ScannerDataManagerStubFragment", "Error occurred while creating the file", ex); + } + if (photoFile != null) { + takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoFile); + cameraLauncher.launch(takePictureIntent); + } + else { + Log.d("ScannerDataManagerStubFragment", "photoFile is null"); + } } else { Log.d("ScannerDataManagerStubFragment", "camera not available");