J'essaye de télécharger l'image vers le stockage Firebase après l'avoir capturé depuis la caméra du téléphone, mais lorsque je lance mon code, j'obtiens l'erreur ci-dessus. J'ai essayé de vérifier si l'URI retournée est nulle comme indiqué dans cette ligne de codeTentative d'invocation de la méthode virtuelle 'java.lang.String android.net.Uri.getLastPathSegment()' sur une référence d'objet nul
Toast.makeText(UploadImage.this, "YOUR URI IS NULL", Toast.LENGTH_LONG).show();
mais le message Toast ne s'affiche, mais l'erreur est jeté pas dans la ligne suivante du pain grillé qui est
filepath = storageReference.child("PhotoModel").child(uri.getLastPathSegment());
ci-dessous est mon code entier,
public class UploadImage extends AppCompatActivity {
private Button mUploadImg;
private ImageView mImageView;
private StorageReference storageReference, filepath;
private ProgressDialog progressDialog;
private static final int CAMERA_REQUEST_CODE = 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_upload_image);
storageReference = FirebaseStorage.getInstance().getReference();
mUploadImg = (Button) findViewById(R.id.btnUploadImg);
mImageView = (ImageView) findViewById(R.id.imgView);
progressDialog = new ProgressDialog(this);
mUploadImg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent Imgintent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(Imgintent, CAMERA_REQUEST_CODE);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAMERA_REQUEST_CODE && resultCode == RESULT_OK) {
progressDialog.setMessage("Upload Image ...");
progressDialog.show();
Uri uri = data.getData();
if (uri == null) {
Toast.makeText(UploadImage.this, "YOUR URI IS NULL", Toast.LENGTH_LONG).show();
}
filepath = storageReference.child("PhotoModel").child(uri.getLastPathSegment());
filepath.putFile(uri).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
progressDialog.dismiss();
Toast.makeText(UploadImage.this, "Uploading ...", Toast.LENGTH_LONG).show();
}
});
} else {
Toast.makeText(UploadImage.this, "Upload Failed...Check your Internet Connection", Toast.LENGTH_LONG).show();
}
}
}
Quelqu'un me aider à wher Le problème commence, parce que je ne peux pas vraiment mettre le doigt dessus en ce moment ...
On dirait que le problème est le même que: http://stackoverflow.com/questions/10386885/intent-filter-intent-getdata-returns-null –