Android:启动具有照相机照片意图的照相机应用程序时,要求用户制作两次照片

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

[当我只是试图以编程方式启动相机应用程序时,我在两部手机上看到一个奇怪的行为。

[它可以在其他手机(三星,摩托罗拉...)上正常工作,但是在我的两个测试手机上-Nexus 5x(Android 8)和Pixel(1)-Android(10)(启动相机应用时,用户需要先两次制作照片,然后使用onActivityResult返回我的应用]

启动呼叫非常简单,仅用于测试:

val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
startActivityForResult(intent, IntentConstants.REQ_LAUNCH_CAMERA)

相机应用程序启动,它显示带有“拍摄者”按钮的相机屏幕,按下该按钮,它会显示带有用于确认的复选按钮的捕获图像,并且当按下该按钮确认时,它不会退出。取而代之的是,它再次使用拍摄器按钮显示相机屏幕,等待用户再拍一张照片并确认,直到相机应用程序结束并回调onActivityResult

意图仅发送一次。在其他手机(三星,摩托罗拉等)上则没有发生]

我的猜测是,这可能与特定手机上的相机应用设置有关(但我在那没看到什么特别的东西,或者我需要在意图中添加一些东西(但我没看到任何东西)]] >

我也尝试添加

intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, false)

[Pixel上没有任何改变,但会导致Nexus 5X内部崩溃:

Process: com.google.android.GoogleCamera
java.lang.NullPointerException at 
com.google.android.apps.camera.shutterbutton.ShutterButton.performClick
com.google.android.GoogleCamera java.lang.NullPointerException at 
com.google.android.apps.camera.shutterbutton.ShutterButton.performClick(PG:160)

我不太担心Nexus 5X,但问题是Pixel 1上也正在发生这种情况,这意味着它可能在Pixel 2,3,4上有问题(尚未测试)。>>

任何有类似问题(和可能的解决方案)的人,请告诉我。

[当我只是试图以编程方式启动相机应用程序时,我在两部手机上看到一个奇怪的行为。它可以在其他手机(三星,摩托罗拉...)上正常工作,但可以在我的两个手机上使用。

android android-camera pixel android-camera-intent image-capture
1个回答
0
投票

Mark(CommonsWare)是正确的,似乎是Google手机上的缺陷。

我找到了解决方法,而不是

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