gpt4 book ai didi

android - "putExtra"是如何工作的?

转载 作者:行者123 更新时间:2023-11-30 03:11:40 26 4
gpt4 key购买 nike

我正在关注这个例子:

http://developer.android.com/training/camera/photobasics.html

如果您为此 putExtra(MediaStore.EXTRA_OUTPUT 按 Ctrl-F,它会将您带到一段我不确定的代码。在应用程序的更上方,它们会覆盖 onActivityResult 并尝试将此 Intent 中的图像从 Activity 结果中拉出以显示在应用程序中,但是当我这样做时 onActivityResult 中的 Intent arg 为空。我尝试更改我的 putExtra 获取 "data" 而不是 MediaStore.EXTRA_OUTPUT 突然间它完美地工作了。

谁能解释一下本教程试图让我做什么?

所以基本上,有问题的代码:

static final int REQUEST_IMAGE_CAPTURE = 1;

private void dispatchTakePictureIntent() {
Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
// Ensure that there's a camera activity to handle the intent
if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
// Create the File where the photo should go
File photoFile = null;
try {
photoFile = createImageFile();
} catch (IOException ex) {
// Error occurred while creating the File
...
}
// Continue only if the File was successfully created
if (photoFile != null) {
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(photoFile));
startActivityForResult(takePictureIntent, REQUEST_TAKE_PHOTO);
}
}
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
mImageView.setImageBitmap(imageBitmap);
}
}
onActivityResult 中的

Intent data 为空,因此当我调用 getExtras 时它会崩溃。我将 dispatchTakePictureIntent 更改为 putExtra("data", Uri.fromFile(photoFile)); 并且它有效。

如果这是 Google 的错误并且在他们的教程中犯了错误,或者我做错了什么/不明白,我只是感到困惑?我想进行此更改的唯一原因是因为它在调用 extras.get("data") 时使用字符串 data。所以我什至不明白我的解决方案:(

最佳答案

putExtra("NameOfExtra", object)

所以他们得到了一个额外的命名“数据”——该字符串是之前放置的额外值的名称。

关于android - "putExtra"是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20846583/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com