android:required= "false" WRT 对使用权限意味着什么?



我正在集成一个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 使用。这些想法相似,但不完全相同,这就是为什么很容易混淆它们的属性要求。

最新更新