当前位置: 首页 > 知识库问答 >
问题:

Android 5.0是否改变了ACTION_IMAGE_CAPTURE意图的结果?

栾英资
2023-03-14
Intent captureImageIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(captureImageIntent, TAKE_FIRST_IMAGE_REQUEST_CODE);
String mediaKey = "data";
case TAKE_FIRST_IMAGE_REQUEST_CODE:
   mImageUri1 = data.getData();

   if (mImageUri1 != null) {
       mImageBitmap1 =  (Bitmap) data.getExtras().get(mediaKey);
                    postCaptureImg1();
   } else {
       LOGD(TAG, "mImageUri1 == null");
   }
break;

该代码在Android版本<5.0上运行良好。但是,在5.0上,它不再工作,mImageUri1总是为null。

Android 5.0中有什么变化导致了这一点吗?

共有1个答案

鞠泰平
2023-03-14

代码在Android版本<5.0上运行良好

不,它没有。它碰巧在有限的测试中起作用,因为您使用的特定相机应用程序碰巧返回了URI(可能是通过extra_output提供的值)。但是,action_image_capture的文档中没有任何要求相机应用程序返回URI的内容。有数百个,甚至数千个相机应用程序,既有预装的,也有从Play商店等公共渠道安装的。不要依赖于在onActivityResult()中返回URI

Android 5.0中有什么变化导致了这一点吗?

 类似资料:
  • 设备:Emulator pixel 3a-Android11 代码: 使用时: listCam大小为0 当切换到: listCam大小是1-因为它应该是。 使用以下代码: 工作正常,并显示相机应用程序。 你知道为什么queryIntentActivities没有返回摄像机的意图吗? 谢谢!

  • 我试图使用hashlib对字节数组进行散列,但是我无法使散列与我期望的匹配(通过在线SHA256函数确认答案)。 我是这样做的: 在执行哈希之前,我打印出输入数据的十六进制摘要: 我做错了什么?

  • 问题内容: 我已经读过1000多个位置,这些位置不继承静态变量。但是,这段代码如何正常工作? Parent.java Child.java 此代码显示“父母”。 还阅读了一些隐藏数据的概念。 Parent.java Child.java 现在输出为“ Child”。 那么这是否意味着 静态变量被继承,但是它们遵循数据隐藏的概念 ? 问题答案: 请查看oracle的文档:http : //docs.

  • 从ViewController:到ViewController:持续时间:选项:动画:完成: 视图控制器的两个子视图控制器之间的转换。-(空)转换从视图控制器:(UIViewController*)从视图控制器到视图控制器:(UIViewController*)到视图控制器持续时间:(NSTimeInterval)持续时间选项:(UIViewAnimationOptions)选项动画:(空(^)(

  • 问题内容: 有时,我只想为条目列表执行一个函数-例如: 有时我需要这些东西来进行模块初始化,所以我不想在全局名称空间中占用x之类的空间。一种解决方案是将map与lambda一起使用: 但这当然会创建一个不错的列表[None,None,…],所以我的问题是,是否存在没有返回列表的类似函数-因为我只是不需要它。 (当然,我也可以使用_x,因此不会留下可见的轮廓线-但地图解决方案看起来很整洁…) 问题答

  • 我最近更新了Chrome的最新版本(我正在运行MacOS的79.0.3945.88版),Chrome突然开始建议在非信用卡字段中自动填写信用卡号码。例如,我有以下字段: Chrome建议自动填写信用卡信息,如图所示: 还有人注意到了吗?我们怎样才能阻止Chrome尝试自动填充这些字段? 更新:我刚刚注意到这只发生在我们网站的西班牙语版本中,而不是英文版,所以它可能与最新的Chrome版本无关。超文