2

有什么方法可以覆盖相机活动的 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 liveIntent=new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);

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

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

4

1 回答 1

4

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

于 2012-07-04T05:18:12.383 回答