如何从Camera活动中获取数据?

时间:2012-12-03 22:42:11

标签: android android-camera-intent

我仍然对Android编程感到新鲜,我不知道Camera活动如何返回数据。 我正在从视频教程中学习,而且我在理解某些内容时遇到了问题,所以它就是这样(来自代码的例外):

int cameraData = 0;

intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, cameraData);

我理解这部分以隐含意图启动Activity并等待Camera返回结果

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK) {
        Bundle extras = data.getExtras();
        bmp = (Bitmap) extras.get("data");
        iv.setImageBitmap(bmp);
    }
}

这个等待从该Activity接收数据,其中

  • requestCodecameraData
  • 开始为0 如果拍照,
  • resultCodeRESULT_OK
  • data是来自相机的数据接收器

我很难理解bmp = (Bitmap) extras.get("data");

我究竟应该知道使用哪个String键来获取特定数据?我无法找到有关何种数据以及Camera返回结果的信息。

1 个答案:

答案 0 :(得分:0)

documentation表示“数据”键包含缩略图,如果需要完整图像,则应通过调用Intent上的putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f))来提供文件名,其中f为文件。