【发布时间】:2015-08-22 20:16:06
【问题描述】:
我的应用开始在 Lollipop 上崩溃,这让我开始了漫长的探索,试图找出原因并修复它。
我最终决定我应该按照谷歌在文档中所写的书来做这件事,这是踢球者,他们文档中的代码不起作用!
我从这里谈论代码:https://developer.android.com/training/camera/photobasics.html#TaskCaptureIntent
<manifest ...>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
android:maxSdkVersion="18" />
</manifest>
google 提倡的这段代码可以防止相机意图在 Lollipop 上自行启动!
takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT,
Uri.fromFile(photoFile));
这段代码应该可以帮助我指定我希望图像所在的 uri,以便我可以获得完整大小的图像。这家伙把我从意图返回的数据变成了NULL。我讲这个数据:protected void onActivityResult(int requestCode, int resultCode, Intent data) {
我为愤怒道歉,但他们在文档中编写的代码不起作用,这不是很荒谬吗? (如果我做错了什么,请直接告诉我)
我知道的就这么多了。我想问的是,是否有人知道如何在 Lollipop 上调用 ACTION_IMAGE_CAPTURE 活动后获取完整图像。我需要完整图像而不仅仅是缩略图的原因是我需要将图像中的 EXIF 数据用于我的应用程序。 (全球定位系统数据) 如果您打开相机应用程序并拍摄它,EXIF 会自行添加,但如果我调用此活动,它不会直接保存图像,我必须从我获得的数据中保存它,而且我最多我从中得到的是使用此代码的缩略图:
Bundle extras = data.getExtras();
Bitmap imageBitmap = (Bitmap) extras.get("data");
【问题讨论】:
-
那么你创建
photoFile所在的目录在getExternalFilesDir()返回的目录下,但是摄像头好像无法写入文件?您可以在其中包含您创建photoFile的行吗?
标签: android android-camera android-5.0-lollipop