ACTION_IMAGE_CAPTURE на устройстве Samsung размыта - PullRequest
1 голос
/ 12 марта 2019

Я использую этот код для открытия камеры:

Intent takePicture = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
takePicture.putExtra(MediaStore.EXTRA_SCREEN_ORIENTATION, ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
startActivityForResult(takePicture, 0);

И работает нормально но только на устройствах Samsung (8 \ 9) с android 8 после того, как я сделаю снимок, превью все размыто, кто-нибудь получил это странное поведение?

(я тоже пробовал без строки putExtra)

Вот скриншоты:

before

after[![][1]] 3

1 Ответ

1 голос
/ 12 марта 2019

вы должны указать путь к фото Ури в качестве дополнительного в намерении камеры как:

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
File file = new File(Environment.getExternalStorageDirectory(), mUserID + ".jpg");
Uri photoPath = getUriForFile(mContext, BuildConfig.APPLICATION_ID, file);
intent.putExtra(MediaStore.EXTRA_OUTPUT, photoPath);   //--> here 
startActivityForResult(Intent.createChooser(intent, "Complete action using"), REQUEST_CODE_CAMERA);

тогда вы можете получить захваченное изображение в самом Uri в onActivityResult

...