我正在尝试在片段中启动相机,但片段中的onActivityResult不会解析RESULT_OK。我该怎么办?
我正在使用以下方式启动相机:
public static final int CAMERA_REQUEST_CODE = 1999;
Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent, CAMERA_REQUEST_CODE);
使用以下方式获取拍摄的图像:
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == CAMERA_REQUEST_CODE && resultCode == RESULT_OK) {
Bitmap bitmap = (Bitmap) data.getExtras().get("data");
if (bitmap != null) {
}
}
}
我希望在当前片段中捕获图像!
答案 0 :(得分:161)
RESULT_OK是Activity类的常量。在Activity类中,您可以直接访问,但在其他类中,您还需要编写类名(Activity)。
使用Activity.RESULT_OK
代替RESULT_OK。
在你的情况下,它将是
if (requestCode == CAMERA_REQUEST_CODE && resultCode == Activity.RESULT_OK) {
答案 1 :(得分:5)
在片段中,我们必须使用getActivity()
方法作为RESULT_OK
的前缀。
在你的情况下,它将是: -
if (requestCode == CAMERA_REQUEST_CODE && resultCode == getActivity().RESULT_OK)
答案 2 :(得分:0)
或者,您可以添加import static android.app.Activity.RESULT_OK;
并在您的情况下使用if (requestCode == CAMERA_REQUEST_CODE && resultCode == RESULT_OK) {..}