2

我对 Android 编程还很陌生,我不太明白相机活动如何返回数据。我正在从视频教程中学习,但在理解某些东西时遇到了问题,所以就这样(代码中的例外):

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 的数据,其中

  • requestCode是 0 从cameraData
  • resultCodeRESULT_OK如果照片被拍了
  • data是来自相机的数据接收器

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

我应该如何确切地知道使用哪个 String 键来获取特定数据?我找不到有关相机返回结果的数据类型和形式的信息。

4

1 回答 1

0

The documentation says that the "data" key holds a thumbnail and that if you need full image you should provide a filename by calling putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(f)) on your Intent, where f is a File.

于 2012-12-03T22:49:14.307 回答