Uri не обновляется после захвата изображения с камеры
У меня есть две кнопки: сначала выбрать изображение из галереи, а вторая - чтобы захватить изображение с камеры. После нажатия любой из этих кнопок на изображении появится соответствующее изображение. но при загрузке в firebase (изображение, полученное с камеры) изображение не обновляется до нулевого значения, но захваченное изображение показывается в imageView. Поэтому я дал обе функции и надеюсь получить решение в ближайшее время. Спасибо заранее.
Элемент списка
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if(requestCode == 0 && resultCode == RESULT_OK){ imageUri = data.getData(); try { Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(),imageUri); image.setImageBitmap(bitmap); } catch (IOException e) { e.printStackTrace(); } }else if (requestCode == CAMERA_REQUEST_PERMISSION && resultCode == RESULT_OK) { imageUri = data.getData(); try{ Bitmap photo = (Bitmap) data.getExtras().get("data"); image.setImageBitmap(photo); }catch (Exception e){ e.printStackTrace(); } } } } { public void uploadData(View view) { if(imageUri != null){ //Insert final ProgressDialog progressDialog = new ProgressDialog(this); progressDialog.setTitle("Uploading"); progressDialog.show(); StorageReference reference = storageReference.child(STORAGE_PATH + System.currentTimeMillis() + "." + imageUri); reference.putFile(imageUri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { @Override public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { String NAME = name.getText().toString().trim(); String EMAIL = email.getText().toString().trim(); PersonDetails personDetails = new PersonDetails(NAME,EMAIL,taskSnapshot.getDownloadUrl().toString()); String id = databaseReference.push().getKey(); databaseReference.child(id).setValue(personDetails); progressDialog.dismiss(); Toast.makeText(getApplicationContext(),"Data Uploaded",Toast.LENGTH_SHORT).show(); name.setText(""); email.setText(""); image.setImageResource(R.drawable.user_image); imageUri=null; } }) .addOnFailureListener(new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { progressDialog.dismiss(); Toast.makeText(getApplicationContext(),e.getMessage(),Toast.LENGTH_SHORT).show(); } }) .addOnProgressListener(new OnProgressListener<UploadTask.TaskSnapshot>() { @Override public void onProgress(UploadTask.TaskSnapshot taskSnapshot) { double totalProgress = (100*taskSnapshot.getBytesTransferred())/taskSnapshot.getTotalByteCount(); progressDialog.setMessage("Uploaded % "+ (int)totalProgress); } }); }else { //Display Error Toast.makeText( getApplicationContext(), "Please Select Data First",Toast.LENGTH_LONG) .show(); } } }