我知道在Nexus 7上,所以我改变了我的表现使得不需要如下权限相机可用性:
<uses-permission android:name="android.permission.CAMERA" android:required="false"/>
该应用程序还没有上市。 在这一点上我是从哪个谈到了DOC困惑uses-feature
,而不是user-permission
:
要知道,你声明(或暗示)都必须运行应用程序或Play商店不会让你的应用程序适用于Nexus 7的用户,其系统功能。 一直宣称不给你的应用程序的关键硬件功能所需=“假”,那么在运行时检测,如果该功能存在,并逐步增强功能
这里有什么交易? 我感到困惑的功能和权限之间的区别。
uses-feature
声明应用程序使用什么类型的硬件/软件的可用性。 你可以用它来自动缩小哪些类型就会出现设备。 你可以声明任何功能为可选,如果应用程序能够在没有他们仍然起作用,并且被设计用来处理该特征是不可用的情况下(如与Nexus正如你所提到7)。
uses-permission
声明您的应用被允许使用什么类型的功能。 如果声明权限,因为你所做的,它可以让用户知道“嘿,这个程序被允许使用我的相机”,他们可以决定是否批准或不批准这种使用。 您无法将权限为可选。
而应该离开required
属性断的uses-permission
标签,并添加另一个标签的相机uses-feature
,并在该标签,标记为required="false"
。 例如:
<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"/>
由于相机的许可意味着这两个特征的要求。 它可以工作,如果没有这个额外的标签,但它可能不会伤害是特定过度,以防万一。