android 调用系统照相机,保存后回到前一个activity android,调用系统相机拍完照片并保存另一个activi...

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

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;
}
}

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

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; } }

离开了只是暂时挂起activity,系统不会随便销毁activity的,除非你自己写了finish或者内存不足了