启动相机以拍照或录制视频

7

我花费了两周时间在谷歌上搜索我想要的内容。然而,我无法找到答案,也不知道如何由Google Photos开发人员完成。以下截图来自Google Photos应用程序。

当我点击 拍照 按钮时,它会启动(或 打开)相机并允许拍照或者录制视频。我也可以使用以下代码在不同的意图中开始相机以拍照和录制视频:

startActivityForResult(new Intent(MediaStore.ACTION_IMAGE_CAPTURE), ACTION_TAKE_PICTURE_RESULT_CODE);
startActivityForResult(new Intent(MediaStore.ACTION_VIDEO_CAPTURE), ACTION_TAKE_VIDEO_RESULT_CODE);

那些代码行没有任何 bug 或问题。但我的问题是,如何启动相机拍照或录制视频?
我希望我的问题很清楚。
第一张图片:first 第二张图片:second
2个回答

4
但我的问题是如何启动相机拍照或录制视频?
如果您想得到结果,那么您不需要这样做。例如,没有“ACTION_IMAGE_OR_VIDEO_CAPTURE”。在开始“ACTION_IMAGE_CAPTURE”或“ACTION_VIDEO_CAPTURE”之前,您需要允许用户选择要执行的操作。
我不知道谷歌相册开发人员如何实现此功能。下面的截图来自Google Photos应用程序。
您的问题与Google照片无关,因为:
- 不是每个设备都安装了Google照片。 - 并非每个安装了Google照片的设备都已启用该功能。 - 并非每个安装了Google照片并启用了该功能的设备都可供用户使用(例如受限配置文件)。 - 如果用户安装了其他相机应用程序,则用户可能仍然会选择其他应用程序来处理您的“Intent”。

0

此 Intent 可以同时打开图片和视频

Intent intent = new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA);

所以使用startActivityForResult

startActivityForResult(new Intent(MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA), ACTION_TAKE_VIDEO_RESULT_CODE);

让我试试这个。 - Mirjalal
3
是的,INTENT_ACTION_STILL_IMAGE_CAMERA 给了我想要的功能。但是在拍照或录像后,我无法获取已拍摄的文件(照片/视频)。它不返回结果(值)。 - Mirjalal
那个链接帮助我弄清楚了当使用INTENT_ACTION_STILL_IMAGE_CAMERA时会发生什么。https://dev59.com/ImbWa4cB1Zd3GeqPXH3m#11638308 - Mirjalal
2
MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA 这个意图不支持活动结果或特定意图文件输出。这个意图旨在简单地打开相机。您所寻求的功能在Android中不存在本地支持。 - King of Masses

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接