Uri не обновляется после захвата изображения с камеры

У меня есть две кнопки: сначала выбрать изображение из галереи, а вторая - чтобы захватить изображение с камеры. После нажатия любой из этих кнопок на изображении появится соответствующее изображение. но при загрузке в firebase (изображение, полученное с камеры) изображение не обновляется до нулевого значения, но захваченное изображение показывается в imageView. Поэтому я дал обе функции и надеюсь получить решение в ближайшее время. Спасибо заранее.

  1. Элемент списка

    @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();
            }
        }
    
    }
    

0 ответов

Другие вопросы по тегам