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

标签 android kotlin android-camera2

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

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)

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

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

谢谢您的帮助!

最佳答案

When I start the activity and the camera opens it also lets me record video.



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

相机应用程序的功能取决于相机应用程序的开发人员,而不是您自己。

I also notice I get the stickers and other controls. How do I remove those?



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

在同时提供静态图像和视频捕获的情况下,可以说这是该特定相机应用程序中的一个错误。您对此几乎无能为力。

I was wondering in anyone could help me with how I could go about having the image controls only?



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

关于android - 仅在Kotlin中使用android相机 Intent 拍照,而不在视频中拍照,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60919345/

相关文章:

java - 如何确保 gradle 仅在构建应用程序到 100% 后才执行主类?

java - adapter.getItem() 将返回什么?

android - 二进制 XML 文件行 #41 : Error inflating class fragment

generics - 从泛型函数返回特定实例

java - Kotlin - 如何从注释处理器获取 KClass<*> 注释参数

java - Android Camera2 - 当 E/Camera 不可用时回调拦截 E/Camera 错误(即用户自拍)

java - Android Camera2 API 拉伸(stretch)预览

java - FacebookConnect Codename 一个 api

android - 从通知栏返回下载 Activity