android - 使用功能 android :required ="false" being ignored

标签 android uses-feature

在我的 AndroidManifest.xml 文件中,我有这两行:

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

但是当我上传到 Google Play 时,它表明需要相机。如果我使用 aapt 工具,它会显示: “使用功能:名称='android.hardware.camera'”

有谁知道为什么它会忽略我的代码并要求设备配备摄像头?

编辑:这是我的整个“使用”部分供引用:

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

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

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

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

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

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

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

<uses-permission                        android:name="android.permission.VIBRATE" />
<uses-feature android:required="false"  android:name="android.hardware.vibrate" />

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

<uses-permission                        android:name="com.google.android.c2dm.permission.RECEIVE" />
<uses-permission                        android:name="asn.apps.asncrm.permission.C2D_MESSAGE" />
<uses-permission                        android:name="com.google.android.c2dm.permission.SEND" />
<uses-permission                        android:name="android.permission.WAKE_LOCK" />

<uses-feature android:required="false"  android:name="android.hardware.telephony"/>

最佳答案

尝试将此附加标签添加到您的 Android list 中:

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

这样做的原因是,according to the docs , android.permission.CAMERA权限意味着需要以下 2 个功能:android.hardware.cameraandroid.hardware.camera.autofocus .

[编辑]

此外,如果您有任何 <uses-library> list 中的标签,其中一个库可能需要相机功能。

关于android - 使用功能 android :required ="false" being ignored,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33511847/

相关文章:

android - 如何在 Android 中基于 uses-features "android.hardware.telephony"制作多个 APK?

java - 使用 Volley 时后台服务出现 OutofMemory 错误

android.hardware.telephony 中断了模拟器上的安装

android - 查看特定的 IME?

android - 列表项的背景图像在android中隐藏的ListView圆角

android - 为什么即使我声明了 android :required ="false" attribute? 仍然需要 NFC 功能

android - 您的设备与 Asus Nexus 7 英寸选项卡中的此版本不兼容

android - 如何刷新 Android 版 Spotify SDK 上的访问 token ?

android - 如何旋转 Android 模拟器显示?