我正在集成一个SDK,它需要我把这个:
<uses-permission
android:name="android.permission.ACCESS_FINE_LOCATION"
android:required="false" />
我理解android:required="false"
uses-feature
,但我无法理解许可的含义。它未在文档中作为属性列出。
它类似于uses-feature
上的requires
吗?如果权限意味着此处列出的功能,则这些功能不是必需的?
正如您所说,根据文档,它不是 <uses-permission>
标签中的有效属性。它继续说(强调我的):
要控制过滤,请始终在元素中明确声明硬件功能,而不是依靠 Google Play 来"发现"元素中的要求。然后,如果要禁用对特定功能的筛选,则可以向声明添加
android:required="false"
属性。
我建议你的SDK文档可能是错误的,你应该为任何隐含的功能包含一个<uses-feature>
标签。
uses-permission
只是告诉用户应用程序将使用某些功能,但设备必须包含它才能正常工作。
android-required
意味着该功能是必需的,并且对于未实现该功能的设备,该应用将不可见。
例如。-
暗示应用程序使用相机功能。如果相机是应用的必备功能,则设置android:required="true"
将阻止将其下载到没有相机的设备。
编辑
实际上,我在思考uses-feature
标签。 uses-permission
没有required
属性。
uses-permission 不使用 android:required 属性,但 uses-feature 使用。这些想法相似,但不完全相同,这就是为什么很容易混淆它们的属性要求。