有没有办法覆盖相机活动的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);
用户进入相机活动,现在当用户使用相机时,我想在按下后退按钮时应用某些功能。
那我该怎么办呢? 有什么想法吗?
答案 0 :(得分:4)
您无法覆盖正在调用的外部活动中的方法。但是,当用户回击使用startActivityForResult调用的活动时,通常会返回响应代码RESULT_CANCELLED(可能存在这种情况并非如此)。在onActivityResult方法中,只需检查RESULT_CANCELLED代码并调用您需要的任何功能