所以我尝试使用来自http://developer.android.com/training/camera/photobasics.html的代码,但显然有一些臭名昭着的“null Intent”错误,所以我试图理解一切是如何工作的。我有几个问题所以我会将每个问题分成几个问题。我将从缩略图开始。
如果我这样拍照:
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);
}
}
然后我得到了我拍摄的照片的缩略图/位图。我拍摄的照片是否仍然在我的文件系统中以完整的形式存在,或者我的相机基本上拍摄了一张完整照片(我可以在相机应用程序中看到,当我可以点击拍照后重试/确定),扔掉它离开,并给我一个缩略图的位图,或者它将整个文件保存在一些奇怪的默认位置,只返回缩略图?
答案 0 :(得分:1)
这取决于相机应用程序的实现。
有数以千计的Android设备型号,附带数百个预安装的相机应用程序。还有许多其他相机应用程序可通过Play商店和其他地方下载。这些应用程序只需要遵守ACTION_IMAGE_CAPTURE
合同(有些甚至不能做到这一点)。 这些相机应用程序如何履行合同取决于这些应用程序'开发者。