Надеюсь это поможет. дайте мне знать, если вы выберете эту процедуру и застряли где-то.
я есть кнопка, которая запускает захват изображения:
private void capturePicture() {
if(ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED){
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// Tiến hành gọi Capture Image intent
startActivityForResult(intent, 100);
} else ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.CAMERA}, 200);
}
Сразу после того, как я сделал снимок, я вижу снимок, и разрешение очень низкое. Он сохраняется в локальном хранилище, и когда он отображается в приложении, он не имеет оригинального качества.
private void loadImageFromStorage(String path, int position, Device device)
{
try {
File f=new File(path,device.getSerial()+".jpg");
Bitmap b = BitmapFactory.decodeStream(new FileInputStream(f));
imvDeviceImage.setImageBitmap(b);
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
}
Здесь для разрешения
if(ActivityCompat.checkSelfPermission(getContext(), Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED){
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 100);
} else ActivityCompat.requestPermissions(getActivity(), new String[]{Manifest.permission.CAMERA}, 200);