Java Android完成活动,开始上一个活动
我有2个活动a和B。 在活动A中,我开始活动B。在活动B中,我想拍摄照片,然后返回活动A并执行下一步 在活动A中,我有:Java Android完成活动,开始上一个活动,java,android,Java,Android,我有2个活动a和B。 在活动A中,我开始活动B。在活动B中,我想拍摄照片,然后返回活动A并执行下一步 在活动A中,我有: Intent intent1 = new Intent(this, CameraActivity.class); intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri); startActivityForResult(intent1, REQUEST_CAMERA); 在活动B中,我
Intent intent1 = new Intent(this, CameraActivity.class);
intent.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
startActivityForResult(intent1, REQUEST_CAMERA);
在活动B中,我有
buttonClick.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
camera.autoFocus(new Camera.AutoFocusCallback() {
@Override
public void onAutoFocus(boolean success, Camera camera) {
camera.takePicture(shutterCallback, rawCallback, jpegCallback);
startActivity();
}
});
}
});
private void startActivity(){
Intent output = new Intent();
output.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
setResult(REQUEST_CAMERA, output);
finish();
}
关于活动A,我有:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
if (requestCode == SELECT_FILE) {
onSelectFromGalleryResult(data);
} else if (requestCode == REQUEST_CAMERA) {
onCaptureImageResult(data);
}
}
}
我不知道如何在活动B上放置fileUri并在活动A上启动良好的方法
PictureCallback jpegCallback = new PictureCallback() {
public void onPictureTaken(byte[] data, Camera camera) {
new ImageTask().execute(data);
clearCamera();
}
};
从“活动2”启动照相机?您需要使用“方法”。@VishalSanghani在“活动1”中启动照相机(照相机是“活动B”),所以您希望在“活动a”中捕获图像并返回结果??RightRetrieve URI
intent.getStringExtra(MediaStore.EXTRA\u输出)
在您的活动A中。从活动2开始启动摄像头?您需要使用方法。@活动1上的VishalSanghani我启动摄像头(摄像头是活动B),所以您希望捕获图像并在活动A中返回结果??RightRetrieve URIintent.getStringExtra(MediaStore.EXTRA\u输出)
在活动A中。在活动A的onActivityResult
方法中。确保在活动A的onActivityResult
中获得结果,调试它并检查您的条件。在活动A的onActivityResult
方法中。确保在活动A的onActivityResult
中得到结果,调试它并检查您的条件。
Intent output = new Intent();
output.putExtra(MediaStore.EXTRA_OUTPUT, fileUri);
setResult(RESULT_OK, output);//change this
finish();