当我在 InstantApp 模式下启动我的 android 应用程序时,即使在授予相关相机权限后,它也无法打开相机。
我正在创建 Android Instant App,用户可以在其中捕获图像并上传到服务器。
我正在使用 Camera2 API。 InstantApp 不允许 MediaStore.ACTION_IMAGE_CAPTURE
Intent ,因为 Android 不允许外部存储权限。
如果我以正常(非即时)模式启动,该应用程序能够在请求相关权限后打开相机。
但是当我在 InstantApp 模式下启动时,它无法打开相机。我在 logcat 中看到这些日志。
09-26 07:33:29.104 7846-7846/com.project.snapdrive I/CameraManagerGlobal: Connecting to camera service
09-26 07:33:29.174 7846-7846/com.project.snapdrive I/CameraManager: Using legacy camera HAL.
09-26 07:33:29.182 7846-7891/com.project.snapdrive W/Camera: An error occurred while connecting to camera 0: -74 (Not a data message)
如果您想查看代码,我的项目是 here .
我正在使用模拟器 Nexus 5X、Android 6.0、API 23。
最佳答案
这看起来像是一个可在 Android O 上重现的错误。它也可以通过改编成 Instant App 的示例 Camera2Basic 项目重现: Sample code
你能检查一下 bug on the Google tracker 的状态吗?用于更新此错误。
更新
=======
此问题已得到修复并已在 8.1 设备上推出。
我们正在与我们的合作伙伴合作,将修复推出到 8.0 设备的更新中。
我们预计这些更新将在未来几个月推出。
关于Android InstantApp 无法打开相机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46416995/