Мне нужно отправить изображение из галереи или с камеры в другое действие. Если изображение из галереи будет работать, то изображение с камеры не будет работать. Вот мой код для MainActivity и для Main2Activity.
MainActivity. java
public class Main3Activity extends AppCompatActivity {
private static final int PERMISSION_CODE = 1000;
private int IMAGE_CAPTURE_CODE = 1001;
private static final int CAMERA_REQUEST_CODE = 102;
private int GALLERY_REQUEST_CODE = 105;
Uri trageturi = null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mChoose.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent gallery = new Intent(Intent.ACTION_PICK,MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
startActivityForResult(gallery, GALLERY_REQUEST_CODE);
}
});
mCapture.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (checkSelfPermission(Manifest.permission.CAMERA) == PackageManager.PERMISSION_DENIED) {
String[] permission = {Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE};
requestPermissions(permission, PERMISSION_CODE);
} else {
openCamera();
}
}
}
});
mSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(Main3Activity.this, Main4Activity.class);
intent.putExtra("image_uri", image_uri.toString());
intent.putExtra("image_gall", targeturi.toString());
startActivity(intent);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
//// show image
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK && requestCode == IMAGE_CAPTURE_CODE) {
mImageView.setImageURI(image_uri);
}
//// show folder image
else if (requestCode == GALLERY_REQUEST_CODE) {
if (data != null) {
targeturi = data.getData();
mImageView.setImageURI(targeturi);
}
}
Main2Activity. java
Я получаю намерение от MainActivity вот так. Пожалуйста, помогите мне исправить мой код.
public class Main4Activity extends AppCompatActivity {
ImageView mImageView;
String testimg1 = "";
String testimg2 = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
mImageView = findViewById(R.id.image_view);
testimg1 = getIntent().getExtras().getString("image_uri");
final Uri image_uri = Uri.parse(testimg1);
mImageView.setImageURI(image_uri);
testimg2 = getIntent().getExtras().getString("image_gall");
final Uri image_gall = Uri.parse(testimg2);
mImageView.setImageURI(image_gall);
}
}