【问题标题】:Android InstantApp fails to open CameraAndroid InstantApp 无法打开相机
【发布时间】:2017-09-26 02:37:28
【问题描述】:

当我在 InstantApp 模式下启动我的 android 应用时,即使在授予相关相机权限后,它也无法打开相机。

我正在创建 Android Instant App,用户可以在其中捕获图像并上传到服务器。

我正在使用 Camera2 API。 InstantApp 不允许 MediaStore.ACTION_IMAGE_CAPTURE 意图,因为 Android 不允许外部存储权限。

如果我在正常(非即时)模式下启动,应用程序可以在请求相关权限后打开相机。

但是当我在 InstantApp 模式下启动时,它无法打开相机。我在 logcat 中看到了这些日志。

09-26 07:33:29.104 7846-7846/com.project.snapdrive I/CameraManagerGlobal:连接到相机服务

09-26 07:33:29.174 7846-7846/com.project.snapdrive I/CameraManager:使用旧相机 HAL。

09-26 07:33:29.182 7846-7891/com.project.snapdrive 带摄像头:连接到摄像头 0:-74 时出错(不是数据消息)

如果你想看代码,我的项目是here

我正在使用模拟器 Nexus 5X、Android 6.0、API 23。

【问题讨论】:

  • 尝试在您的手机中启动相同的应用程序。
  • 我没有 Pixel 或 Nexus。我还有其他变体,但这些变体并未被 Google 列入白名单。
  • 我运行了您的即时应用程序并收到了java.lang.SecurityException: Lacking privileges to access camera service 错误。在即时应用程序中存在一个关于 CAMERA 权限被拒绝的公开错误issuetracker.google.com/issues/66942980
  • 即时应用与标准相机意图 developer.android.com/training/camera/photobasics.html 一起使用。我使用MediaStore.ACTION_IMAGE_CAPTURE 创建了一个示例应用程序,并确认可以使用相机应用程序从即时应用程序中拍摄照片。
  • @Vikash 你知道吗,它只适用于 O for me atm。我所做的只是从developer.android.com/training/camera/photobasics.html 复制“使用相机应用拍照”和“获取缩略图”中的代码。相机打开,我能够从中获得结果,无需相机许可。 issuetracker.google.com/issues/66942980#comment3

标签: android android-camera android-camera2 android-instant-apps


【解决方案1】:

这看起来像是一个可以在 Android O 上重现的错误。它也可以通过将示例 Camera2Basic 项目改编为 Instant App 来重现: Sample code

您能否检查bug on the Google tracker 的状态以更新此错误。

更新
=======
此问题已修复并已在 8.1 设备上推出. 我们正在与我们的合作伙伴合作,将修复程序推广到 8.0 设备的更新中。 我们预计这些更新将在未来几个月内推出。

【讨论】:

    猜你喜欢
    • 2018-01-12
    • 1970-01-01
    • 1970-01-01
    • 2019-01-07
    • 1970-01-01
    • 2017-07-02
    • 1970-01-01
    • 2021-11-08
    • 2021-07-31
    相关资源
    最近更新 更多