private File createImageFile() {
File picturesDirectory = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss");
String timeStamp = sdf.format(new Date());
File imageFile = new File(picturesDirectory, "picture" + timeStamp +".jpg");
SharedPreferences fileLocation = getSharedPreferences("filePath", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = fileLocation.edit();
editor.putString("file", imageFile.toString());
ImageView photoImg = (ImageView)findViewById(R.id.photoImg);
photoImg.setImageURI(Uri.fromFile(imageFile));
editor.commit();
return imageFile;
}
Я пытаюсь отобразить изображение, снятое с помощью камеры, однако после того, как снимок сделан, изображение не отображается в моем ImageView. Изображение определенно сохраняется, так как я могу просмотреть его в своей галерее.
Я посмотрел на stackoverflow, и ни один из ответов, похоже, у меня не работает, я пробовал использовать BitmapFactory, но это тоже не работает. Любой вклад будет очень признателен
Если URI действителен. Следуйте Этот ответ.
Возникает ли исключение при запуске этого кода? Было бы полезно узнать, с чем мы имеем дело, если это так. Когда это происходит, проверьте logcat и посмотрите, сможете ли вы найти какие-либо ошибки или предупреждения, и дайте нам знать, если найдете что-нибудь подходящее.
@ADM файл изображения существует по пути, поскольку он доступен в моей галерее, я также могу поделиться изображением через приложение, просто не могу заставить его отображать в просмотре изображения
Используйте код, это поможет вам
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) {
Bitmap photo = (Bitmap) data.getExtras().get("data");
imageView.setImageBitmap(photo);
}
}
private void takePhotoFromCamera() {
str_SaveFolderName = Environment.getExternalStorageDirectory() + "/folder_name";
str_randomnumber = String.valueOf(Calendar.getInstance().getTimeInMillis());
wallpaperDirectory = new File(str_SaveFolderName);
if (!wallpaperDirectory.exists())
wallpaperDirectory.mkdirs();
str_Camera_Photo_ImageName = str_randomnumber + ".jpg";
str_Camera_Photo_ImagePath = str_SaveFolderName + "/" + str_randomnumber + ".jpg";
System.err.println(" str_Camera_Photo_ImagePath " + str_Camera_Photo_ImagePath);
f = new File(str_Camera_Photo_ImagePath);
startActivityForResult(new Intent(
MediaStore.ACTION_IMAGE_CAPTURE).
putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f)), Take_Photo);
}
И onActivityResult () -
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == this.RESULT_CANCELED) {
return;
}
if (requestCode == Take_Photo) {
imageview.setImageBitmap(
decodeSampledBitmapFromResource(getResources(),
R.id.simpleImageView, 100, 100));
}
}
Этот
imageFileвообще существует?new File()не создает файл.