【问题标题】:Making the camera permission required by the library as not required使库所需的相机权限为非必需
【发布时间】:2018-09-25 14:25:56
【问题描述】:

在我的应用程序中,我包含一个请求摄像头的库。这限制了我对没​​有摄像头的设备的应用,我需要它专门用于带有扫描仪但没有摄像头的设备。所以我想在我的应用程序中不需要相机许可。我该怎么做。

我加了

<uses-permission android:name="android.permission.CAMERA" />
<uses-feature
    android:name="android.hardware.camera"
    android:required="false" />
<uses-feature
    android:name="android.hardware.camera.autofocus"
    android:required="false" />

在我的应用清单中。够了吗?

或者我应该像下面这样在我的应用中添加 tools:node="remove" 或 tools:node="replace"

<uses-permission android:name="android.permission.CAMERA" tools:node="replace" />

【问题讨论】:

    标签: android permissions android-camera


    【解决方案1】:

    是的,这就够了。您将其设置为非必需功能,因此它不是必需的。

    仅仅因为您使用 CAMERA 权限并不意味着设备必须有摄像头。你可以输入:

    <uses-permission android:name="hue.com.derp" />
    

    而且它根本不会限制您的兼容性基础。如果主机设备无法识别权限,它会忽略它。

    tools 命名空间对运行时的影响为零。您只需向 IDE 提供运行时可能发生的情况的示例,以便它可以更新预览等。

    【讨论】:

    • 我已经编辑了我的问题。为“足够”部分添加了更多说明
    • 设备不限制,但google play会。所以它允许没有摄像头的设备也可以从谷歌播放安装
    • 不,不会的。如果设备请求设备不使用的权限,Google Play 不会阻止设备安装应用。
    • 你的意思是如果我不添加 我仍然可以从 google play 安装在没有摄像头的设备上
    • 是的,因为您输入了required="false"。它不是必需的,因此 Google Play 不会要求它。
    【解决方案2】:

    我会说首先检查设备类型,如果它有摄像头和 6.0+,那么你需要请求许可,否则只需正常运行你的代码

    【讨论】:

      猜你喜欢
      • 2011-11-10
      • 1970-01-01
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 2012-02-16
      • 1970-01-01
      • 2013-10-14
      • 2020-04-12
      相关资源
      最近更新 更多