这样拍照时相机文件什么时候保存在Android?

When are camera files saved in Android when I take pictures this way?

所以我尝试使用 http://developer.android.com/training/camera/photobasics.html 中的代码,但显然有一些臭名昭著的 "null Intent" 错误,所以我试图了解一切是如何工作的。我有几个问题,所以我会把每个问题分成它自己的 SO 问题。我将从缩略图开始。

如果我这样拍照:

static final int REQUEST_IMAGE_CAPTURE = 1;

private void dispatchTakePictureIntent() {
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) {
        startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE);
    }
}

@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);
    }
}

然后我得到我拍摄的照片的缩略图/位图。我拍摄的照片是否仍以完整形式保存在我的文件系统中,或者我的相机是否基本上拍摄了完整照片(我可以在相机应用程序本身中看到,当我可以在拍摄照片后单击 Retry/OK 时),把它扔掉,给我一个缩略图的位图,或者它是否将整个文件保存在一些奇怪的默认位置并且只 return 我的缩略图?

这取决于相机应用程序的实现。

有数千种 Android 设备型号,预装了数百种相机应用。还有许多其他相机应用程序可通过 Play 商店和其他地方下载。这些应用程序只需遵守 ACTION_IMAGE_CAPTURE 合同(有些甚至不遵守)。 这些相机应用程序如何履行该合同取决于这些应用程序的开发人员。