仅在Kotlin中使用android相机拍摄照片,而不在视频中拍摄

问题描述 投票:1回答:1

我正在使用以下Kotlin代码在简单的Android应用上打开相机并拍摄用户个人资料照片。我只想拍照,而不是视频。当我开始活动并打开相机时,我也可以录制视频。

val contentVvalues = ContentValues()
contentValues.put(MediaStore.Images.Media.MIME_TYPE, "image/jpg")
contentValues.put(MediaStore.Images.Media.TITLE, "My Picture")
contentValues.put(MediaStore.Images.Media.DESCRIPTION, "My first picture")
this.imageURI = contentResolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, contentValues)

val cameraIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, imageURI)

startActivityForResult(cameraIntent, ACTION_IMAGE_CAPTURE_CODE)

我想知道有人能帮助我如何只拥有图像控件吗?

我还注意到我得到了贴纸和其他控件。如何删除这些?

感谢您的帮助!

android kotlin android-camera2
1个回答
1
投票

当我开始活动并打开相机时,它也允许我录制视频。

[大约有25亿个Android设备,分布在约26,000个设备模型中。在可能响应ACTION_IMAGE_CAPTURE的那些设备型号中,将有数十个(甚至数百个)预装的相机应用程序。用户可能已经安装了数十个(即使不是数百个)相机应用程序,它们可能会响应ACTION_IMAGE_CAPTURE。您的代码可能正在启动这数百种应用中的任何一种。

相机应用程序的工作取决于相机应用程序的开发人员,而不是您。

我还注意到我得到了贴纸和其他控件。如何删除这些?

你不知道。这是相机应用程序开发人员的选择。

如果同时提供静态图像和视频捕获,那可以说是该特定相机应用程序中的错误。您对此无能为力。

我想知道有人能帮助我如何只拥有图像控件吗?

使用ACTION_IMAGE_CAPTURE停止。编写自己的相机代码,可能使用一个库(Google的CameraX,Fotoapparat,CameraKit-Android等)。

© www.soinside.com 2019 - 2024. All rights reserved.