0

我的代码给了我一个路径来存储我的视频文件,它基本上会产生一个看起来像这样的路径:

/storage/sdcard0/Pictures/MyApp/MyApp20130816_144111_1131938614.mp4

当我尝试在我的 S2 上捕捉视频时,我拍摄视频并按下停止相机我的相机应用程序不显示正常的保存屏幕,它只是将自己重新置于捕捉模式的开头,并且永远不会调用 onActivityResult。我发现如果我没有将路径传递给 MediaStore.EXTRA_OUTPUT,它就会正常工作。我已经在 Note II、GS3、GS4、Nexus 上测试了我的代码,它们似乎都能够捕获视频并将其保存到正确的路径而没有问题。为什么 S2 会有这样的行为?

4

1 回答 1

0

银河系 s2 的某些东西可能不喜欢 /storage/ 吗?

永远不要硬编码路径。始终使用诸如Environment.getExternalStoragePublicDirectory()获取在外部存储上存储文件的根目录之类的方法。不同的设备,甚至同一设备(Android 4.2+ 平板电脑)上的不同用户将有不同的外部存储路径。

但是,我最初评论中的观点仍然成立。作为开发人员,您不是“使用安装在 Galaxy 设备上的默认相机应用程序”。您作为用户可能正在使用该特定应用程序。有近十亿安卓设备用户;你不是他们的全部。欢迎他们使用他们想要的任何相机应用程序,包括第三方应用程序。而且,他们将使用数以千计的 Android 设备型号。他们都不一定会尊重您拍照的要求。进行测试以尝试在更多设备上更忠实地工作(例如非硬编码路径)当然是值得的,但您需要记住,每当您要求其他开发人员的应用程序为您工作时,其他开发人员是对所发生的事情的控制,远远超过你。

于 2013-08-16T19:43:55.250 回答