启动本机相机应用程序,可选择捕获视频或图像

Launch native camera app with option to capture either video or image

我之前写过一个应用程序,我打开原生相机应用程序来捕捉这样的图像:

Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);

或者,像这样捕捉视频:

Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);

但是有没有一种方法可以打开本机相机应用程序并选择捕获视频或图像?我想打开下面给出的图片,用户可以在其中滑动以访问侧面菜单并更改他们的输入类型。

我试过搜索,但还没有结果。我不确定是否有办法在不编写自定义相机实现的情况下执行此操作,我现在想避免这种情况。

如果可以的话,我该怎么做?一旦捕获完成(可能在 onActivityResult 中),我如何才能识别用户选择的媒体类型?

提前致谢!

目前如您所指定,有 2 个用于捕获图像和视频的意图,即 MediaStore.ACTION_IMAGE_CAPTUREMediaStore.ACTION_VIDEO_CAPTURElink

因为一开始我也在想startActivityForResult (Intent intent, int requestCode, Bundle options),这里options参数用来给外部应用程序的额外功能,但我们只能指定一些动画而不是指定的值 link1 & link2.

解决方案

我宁愿建议您选择带有您喜欢的选项的自定义应用程序,而不是现有相机应用程序的限制。