如果我在manifest
中写这个:
<uses-permission android:name="android.permission.CAMERA" />
编辑:
还有这些行:
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.flash" />
即使device
没有camera
,我的应用程序是否仍会运行?
是的,你的应用将运行。
您可以通过android:required="true"
标记uses-feature
来限制这一点。关于uses-feature
编辑问题的更新 :
如果未声明,则android:required
的默认值为 true
。因此,您必须添加android:required="false"
,如下所示:
<uses-feature android:name="android.hardware.camera" android:required="false"/>
<uses-feature android:name="android.hardware.camera.flash" android:required="false"/>
您的应用程序运行成功。
Permission
仅与访问设备的Component
或Features
有关。 如相机、NFC、蓝牙等。
例如,如果我想从我的应用程序访问相机,则需要在manifest.xml
中添加权限,以便从我们的应用程序访问相机。
在你的开发环境中运行,但它可能会被市场过滤掉。从文档
严格来说,谷歌播放不会根据 元素。但是,它确实会读取元素以确定是否 应用程序具有可能没有的硬件功能要求 在元素中正确声明。例如,如果 应用程序请求 CAMERA 权限,但不声明 元素为android.hardware.camera,谷歌播放 认为应用程序需要相机,不应该 显示给设备不提供相机的用户。
正如MD所指出的那样,权限仅用于访问该技术......其中uses-feature用于限制应用程序安装在无法提供某些功能的设备上,正如Paritosh所指出的那样。