onActivityResult RESULT_OK无法解析为android中的变量?

时间:2014-04-15 13:25:40

标签: android android-fragments

我正在尝试在片段中启动相机,但片段中的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) {
        }
    }
}

我希望在当前片段中捕获图像!

3 个答案:

答案 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) {..}