Я хочу, чтобы пользователь выбрал изображение из галереи изображений, и приложение перейдет к другой операции и загрузит изображение там.
Это открыть файл выбора.
private void openFileChooser() {
Intent intent = new Intent();
intent.setType("image/*");
intent.setAction(Intent.ACTION_GET_CONTENT);
getActivity().startActivityForResult(intent, PICK_IMAGE_REQUEST);
}
Это то, что у меня есть в моем onActivityResult
@Override
public 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) {
mImageUri = data.getData();
Intent intent = new Intent(getActivity(),AddActivity.class);
intent.putExtra("imagePath",mImageUri.toString());
intent.putExtra("requestCode",PICK_IMAGE_REQUEST);
startActivity(intent);
}
Это мой код для второго занятия, в основном пользователь может либо открыть камеру и сделать фотографию, либо выбрать из галереи изображений. Съемка с камеры работает, но при выборе изображения это не так, поэтому у меня есть два кода запроса.
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_additem);
Log.i(TAG, "onCreate: started");
setupBottomNavigationView();
imageView = findViewById(R.id.addPic);
Bundle extras = getIntent().getExtras();
int requestCode = extras.getInt("requestCode");
if (requestCode == 0) {
if (extras != null) {
Bitmap image = (Bitmap) extras.get("image");
if (image != null) {
imageView.setImageBitmap(image);
}
}
if (requestCode == 1) {
Intent intent = getIntent();
String image_path = intent.getStringExtra("imagePath");
Uri fileUri = Uri.parse(image_path);
imageView.setImageURI(fileUri);
}
}
}
Будучи не в состоянии понять, почему это не работает, мое приложение для Android даже не переходит ко второму действию после выбора изображения. Он просто возвращается к домашнему занятию.