Android Lollipop ACTION_IMAGE_CAPTURE无效,如文档

时间:2015-08-22 20:16:06

标签: android android-camera android-5.0-lollipop

我的应用程序开始打破Lollipop,这让我开始尝试弄清楚原因并解决它当然。

我最终决定我应该按照谷歌在文档中写的那本书来做,这里是踢球者,他们的文档中的代码不起作用!

我在这里谈论代码:https://developer.android.com/training/camera/photobasics.html#TaskCaptureIntent

<manifest ...>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
                 android:maxSdkVersion="18" />
</manifest>

谷歌提倡的这段代码阻止了相机意图在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数据。 (GPS数据) 如果你打开相机应用程序并取走它,EXIF会自动添加,但如果我调用此活动,它不会直接保存图像,我必须从我得到的数据中保存它,而且我最多我离开它是使用此代码的缩略图:

Bundle extras = data.getExtras();
            Bitmap imageBitmap = (Bitmap) extras.get("data");

1 个答案:

答案 0 :(得分:0)

为什么使用权限中有最大sdk。

请在更改后再试一次

<manifest ...>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"
                 android:maxSdkVersion="18" />
</manifest>

<manifest ...>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
</manifest>