android 调用系统照相机,保存后回到前一个activity

2025-01-07 06:28:38
推荐回答(2个)
回答1:

修改相机源码编译,因为相机返回功能是点2次,保存并没有退出动作,这个不改源码或者在相机源码里面加Intent 是做不到这种效果的 。 我刚想了下,在广播或者Service里面加 OnKeyDown 方法 ,但是广播和service没有这方法,所以不能够靠监听到 返回键的键值 4 ,从而直接 Intent到 A activity的功能就无法实现 ,所以建议修改相机源码,即可实现 。 如果是纯应用, 抱歉,能想的都想了,实现不了。

回答2:

private static final int RESULT_CAPTURE_IMAGE = 1;

把下面这段放到oncrate 或者按钮事件函数中
Intent imageCaptureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
imageCaptureIntent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(new File("/mnt/sdcard/test.jpg")));
startActivityForResult(imageCaptureIntent, RESULT_CAPTURE_IMAGE);

下面代码接收相机照相完成的事件
同样写在activity中

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case RESULT_CAPTURE_IMAGE://拍照
if (resultCode == RESULT_OK) {
Log.v("拍照", "照相完成");
}
break;
}
}