[当我只是试图以编程方式启动相机应用程序时,我在两部手机上看到一个奇怪的行为。
[它可以在其他手机(三星,摩托罗拉...)上正常工作,但是在我的两个测试手机上-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上有问题(尚未测试)。>>
任何有类似问题(和可能的解决方案)的人,请告诉我。
[当我只是试图以编程方式启动相机应用程序时,我在两部手机上看到一个奇怪的行为。它可以在其他手机(三星,摩托罗拉...)上正常工作,但可以在我的两个手机上使用。
Mark(CommonsWare)是正确的,似乎是Google手机上的缺陷。
我找到了解决方法,而不是