如何覆盖相机活动的onBackPressed?即android.provider.MediaStore.ACTION_IMAGE_CAPTURE

时间:2012-07-04 05:09:30

标签: android android-intent

有没有办法覆盖相机活动的onBAckPressed(),即android.provider.MediaStore.ACTION_IMAGE_CAPTURE。

让我解释一下我想做什么

当用户点击一个对话框时,我有一个按钮,要求用户从图库中选择图片或使用相机拍摄图像。

所以代码就像这样

case R.id.btn_live:
            Intent liveIntent= new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
            startActivityForResult(liveIntent,RESULT_CAPTURE_IMAGE);
            myDialog.dismiss();       
            break;

        case R.id.btn_gallery:  
            Intent galIntent = new Intent(
                    Intent.ACTION_PICK,
                    android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
           startActivityForResult(galIntent, RESULT_LOAD_IMAGE);  
           myDialog.dismiss();
            break;

现在假设用户选择了两个动作中的任何一个,然后我们使用intent开始 像这样 -

Intent liveIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

用户进入相机活动,现在当用户使用相机时,我想在按下后退按钮时应用某些功能。

那我该怎么办呢? 有什么想法吗?

1 个答案:

答案 0 :(得分:4)

您无法覆盖正在调用的外部活动中的方法。但是,当用户回击使用startActivityForResult调用的活动时,通常会返回响应代码RESULT_CANCELLED(可能存在这种情况并非如此)。在onActivityResult方法中,只需检查RESULT_CANCELLED代码并调用您需要的任何功能