单击屏幕上的按钮时,将打开相机。关于这个问题我在堆栈溢出上看到了很少的帖子。我在finish()
方法finishActivity()
之后尝试了onBackPressed()
,dispatchTakePictureIntent();
,onClick
方法,但后来失败了! 退出我的整个应用。
这是我full code的摘录:
按钮的onClick
方法:
mCaptureImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.d("TAG", "Camera opened");
dispatchTakePictureIntent();
}
});
此方法调度Intent:
private void dispatchTakePictureIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// Ensure that there's a camera activity to handle the intent
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
// Create the File where the photo should go
File photoFile = null;
try {
photoFile = createImageFile();
} catch (IOException ex) {
// Error occurred while creating the File
}
// Continue only if the File was successfully created
if (photoFile != null) {
photoURI = FileProvider.getUriForFile(this,
"com.pc.android.fileprovider",
photoFile);
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, photoURI);
startActivityForResult(takePictureIntent, REQUEST_TAKE_PHOTO);
}
}
}
我的问题是,如何在后面回到上一个屏幕 我在相机的意图上按下按钮。
答案 0 :(得分:2)
Thus you have to do Nothing :
您无法覆盖正在调用的外部活动中的方法。 但是,当用户回击使用的活动时 startActivityForResult一般是响应代码RESULT_CANCELLED 返回(可能存在这种情况并非如此)。在你的 onActivityResult方法只需检查RESULT_CANCELLED代码和 调用你需要的任何功能
答案 1 :(得分:0)
你可以尝试使用startActivityForResult并检查你的onActivityResult是否被调用或者在后面按下Activity的onResume被调用