получение URI и добавление файла в FIrebaseStorage ANDROID
Доброго времени столкнулся с проблемой добавления файлов с устройства в Firebase с начало я пробовал сделать что б выбрав 2 фотографии человек при нажатии Btn next добавлял в базу данных запись,файл и вызывал интент на следующую но что то не задалось и было принято взять что б добавление фотографии и генерацию url файла из firebase было назначено на отдельную кнопку после чего вроде всё заработало открывается интент на image файлы но после выбора он откатывает меня на прошлую активити и говорит что не может найти такой файл! Пожалуйста помогите я уже 5 день не могу понять как это всё реализовать
public class ChekInformation extends AppCompatActivity {
//constant
private static final int PICK_IMAGE_REQUEST = 1;
//intent fragment
private String username;
//
//info card
private EditText number_indefication_card, date_give_card, end_of_card, MKK,
//info user
surname, name, secondName, dateBorn, bornPlace,
//plase user
city, region, street, house_and_apartment;
//photo for identification
private Uri firstImage,
secondImage,
imageURI;
public static String urlfile;
private String firstUrl;
private String secondUrl;
private ProgressBar mProgressBar;
private ImageButton btnFirstImage,btnSecondImage;
private Button nextButton;
private TextView alert;
private FirebaseDatabase database;
private DatabaseReference myRef;
private StorageReference myStorageRef;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chek_information);
Intent intent = getIntent();
String username =intent.getStringExtra("EXTRA_USERNAME");
//EDITTEXTS
mProgressBar=(ProgressBar)findViewById(R.id.mProgressBar);
////info card
number_indefication_card = (EditText) findViewById(R.id.number_indefication_card);
date_give_card = (EditText) findViewById(R.id.date_give_card);
end_of_card = findViewById(R.id.end_of_card);
MKK = findViewById(R.id.MKK);
//info user
surname = (EditText) findViewById(R.id.familyi);
name = (EditText) findViewById(R.id.name);
secondName = (EditText) findViewById(R.id.secondName);
dateBorn = (EditText) findViewById(R.id.dateBorn);
bornPlace = (EditText) findViewById(R.id.bornPlace);
//plase user
city = (EditText) findViewById(R.id.city);
region = (EditText) findViewById(R.id.region);
street = (EditText) findViewById(R.id.street);
house_and_apartment = (EditText) findViewById(R.id.house_and_apartment);
database = FirebaseDatabase.getInstance();
myStorageRef = FirebaseStorage.getInstance().getReference("uploads").child(username);
myRef=database.getReference("users").child(username).child("information");
btnFirstImage = (ImageButton) findViewById(R.id.firstImageButton);
btnSecondImage= (ImageButton) findViewById(R.id.secondImageButton);
btnFirstImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openFileChooser();
firstImage=imageURI;
uploadFile(firstImage);
firstUrl=urlfile;
}
});
btnSecondImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
openFileChooser();
secondImage=imageURI;
uploadFile(secondImage);
secondUrl=urlfile;
}
});
}
private void openFileChooser() {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
startActivityForResult(intent, PICK_IMAGE_REQUEST);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK
&& data != null && data.getData() != null) {
imageURI = data.getData();
}
}
private String getFileExtension(Uri uri) {
ContentResolver cR = getContentResolver();
MimeTypeMap mime = MimeTypeMap.getSingleton();
return mime.getExtensionFromMimeType(cR.getType(uri));
}
private void uploadFile(Uri curentImage){
StorageReference fileReference= myStorageRef.child(username+" "+getFileExtension(curentImage));
fileReference.putFile(curentImage).addOnSuccessListener( new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
urlfile=taskSnapshot.getMetadata().getReference().getDownloadUrl().toString();
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
}
});
}
public void nexButton(View view) {
UserInformationCase userInformation = new UserInformationCase(
number_indefication_card.getText().toString(),
date_give_card.getText().toString(),
end_of_card.getText().toString(),
MKK.getText().toString(),
surname.getText().toString(),
name.getText().toString(),
secondName.getText().toString(),
dateBorn.getText().toString(),
bornPlace.getText().toString(),
city.getText().toString(),
region.getText().toString(),
street.getText().toString(),
house_and_apartment.getText().toString(),
firstUrl,
secondUrl);
myRef.setValue(userInformation);
Intent intent = new Intent(this, PActivity.class);
startActivity(intent);
}
}