gpt4 book ai didi

安卓 Intent ACTION_IMAGE_CAPTURE

转载 作者:行者123 更新时间:2023-11-30 02:37:16 25 4
gpt4 key购买 nike

我有一个简单的 Android 应用程序,它尝试拍照并将其作为包含多部分数据的 HTTP POST 发送到服务器。问题是 Android 的 Intent 行为在某些手机上是不同的。当我运行时

Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 0);

在 HTC One (Android 4.1.1) 和 Sony Xperia Z1 (Android 4.4.4) 上,它将图像存储在图库中并像下面这样调用:

data.getData().getPath();

(数据是 Intent 的一个实例),而当我在 LG Nexus 5(Android 4.4.4)上运行相同的代码时,图像不会被存储,并且

data.getData();

返回空值。

我需要的是一种(临时)存储图像的方法,以便我可以将其传输到服务器。

最佳答案

看起来最近的 android 库存相机可能存在错误,请 see this issue report在安卓上。根据该错误,相机 Intent 返回的 data 字段可能会在默认行为中返回 null。 (未使用 MediaStore.EXTRA_OUTPUT)。

为了保证你总是得到图像,你自己分配一个文件并且pass that uri in camera intent extras as MediaStore.EXTRA_OUTPUT

分配临时图像文件的最佳做法是确保底层媒体已安装,请参阅 this sample code snippet on android developer site .成功完成相机 Intent 后,只需使用您分配的文件 uri...不要使用 getData(可以为 null)。

关于安卓 Intent ACTION_IMAGE_CAPTURE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26305028/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com