Намерение захваченного изображения или из галереи в другое действие - PullRequest
0 голосов
/ 05 августа 2020

Мне нужно отправить изображение из галереи или с камеры в другое действие. Если изображение из галереи будет работать, то изображение с камеры не будет работать. Вот мой код для 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);

    }
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...