You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

android.media.action.IMAGE_CAPTURE无法保存图片问题求助

问题:Termux脚本调用相机拍照指定存储路径失败

:)

我正在编写一个Termux Bash脚本来管理现实生活中的消费记录。目前当程序检测到是杂货类消费时,会自动请求拍摄杂货小票的照片。

为了实现拍照功能,我尝试使用android.media.action.IMAGE_CAPTURE组件。通过ChatGPT了解到,可以传递参数-e output <URI>来指定图片存储路径。最初我传入文件URI时无法创建文件,尝试先创建空文件再让组件覆盖写入,成功了。

当时使用的命令如下:

am start -a android.media.action.IMAGE_CAPTURE -e output file:///data/data/com.termux/files/home/moneybook/test.png

不过这是我交互式测试时成功的,之后尝试复现却失败了,查看bash历史记录发现有大量内容丢失。

我尝试写入SD卡目录,同样失败:

cd /storage/emulated/0 touch test.png am start -a android.media.action.IMAGE_CAPTURE -e output 'file///storage/emulated/0/test.png'

查看文件内容为空。

听说Android出于安全考虑推荐使用Content URI而非文件URI,我尝试使用文件管理器miMix提供的Content URI:

am start -a android.media.action.IMAGE_CAPTURE -e output 'content://com.mixplorer.silver.file/525!/test.png'

同样没有效果,写入新文件test2也失败。

更新

@CommonsWare提示可能是权限问题,考虑到Android新版本限制直接写入主目录(/storage/emulated/0),我尝试写入相机默认有权限的/storage/emulated/0/DCIM/Camera目录,无论写入新文件还是覆盖现有文件均失败。

令我困惑的是,之前成功时曾收到Android的相机权限请求弹窗,且能直接写入Termux存储目录...
––––––

我不清楚问题所在,希望能得到相关分析和建议。我的设备是Android 11、MIUI 12系统。

感谢阅读 :)

内容的提问来源于stack exchange,提问作者Lucastegano X

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 14:28:21