无法在Android中将onActivityResult RESULT_OK解析为变量?


68

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

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

Answers:


171

RESULT_OK是Activity类的常量。在Activity类中,您可以直接访问,但在其他类中,还需要输入类名称(Activity)。

使用Activity.RESULT_OK代替RESULT_OK。


在你的情况下

if (requestCode == CAMERA_REQUEST_CODE && resultCode == Activity.RESULT_OK) {

5

在片段中,我们必须使用getActivity()method作为前缀RESULT_OK

您的情况将是:-

if (requestCode == CAMERA_REQUEST_CODE && resultCode == getActivity().RESULT_OK)

我收到了警告“通过实例引用访问的静态成员'androidx.fragment.app.FragmentActivity.RESULT_OK'”,与Activity.RESULT_OK
Latief Anwar

0

另外,您可以根据需要添加import static android.app.Activity.RESULT_OK;和使用它,例如if (requestCode == CAMERA_REQUEST_CODE && resultCode == RESULT_OK) {..}

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.