我怎么知道相机的答案?

时间:2015-12-11 15:20:41

标签: android android-intent android-camera

我开始像这样的相机意图:

    public Intent openCamera(Context mContext) {
    File photoFile = null;
    cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    if (cameraIntent.resolveActivity(mContext.getPackageManager()) != null) {
        try {
            photoFile = createImageFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
        cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(photoFile));
        cameraIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
        mContext.startActivity(cameraIntent);
        Toast.makeText(mContext, "CESTA: " + absolutePatch, Toast.LENGTH_LONG).show();
    }
    return cameraIntent;
}

我使用startActivity因为我无法使用startActivityForResult

我需要捕捉相机结果我该怎么做?

1 个答案:

答案 0 :(得分:2)

您应该使用startActivityForResult()开始活动。在启动此活动以捕获摄像机数据的活动中,您还应实施方法onActivityResult()

来自Google文档:

"执行startActivityForResult()方法时,用户会看到相机应用程序界面。用户完成拍照(或取消操作)后,用户界面将返回到您的应用程序,您必须拦截onActivityResult()方法以接收intent的结果并继续执行应用程序。有关如何接收完成的意图的信息,请参阅接收相机意图结果。"

Receiving camera intent result

Here you go with the official docs