6

我正在集成一个 SDK,它需要我把这个:

<uses-permission
    android:name="android.permission.ACCESS_FINE_LOCATION"
    android:required="false" />

我理解android:required="false"a uses-feature,但我无法理解权限的含义。它没有在文档中作为属性列出。

它类似于requireson auses-feature吗?如果权限暗示此处列出的功能,那么这些功能不是必需的吗?

4

3 回答 3

6

正如您所说,根据文档,它不是<uses-permission>标签中的有效属性。它继续说(强调我的):

要控制过滤,请始终在元素中明确声明硬件功能,而不是依靠 Google Play 来“发现”元素中的需求。然后,如果您想禁用对特定功能的过滤,您可以android:required="false"在声明中添加一个属性。

我建议您的 SDK 文档可能是错误的,您应该<uses-feature>为任何隐含的功能添加一个标签。

于 2013-10-03T18:59:28.150 回答
5

uses-permission只是告诉用户该应用程序将使用某些功能,但设备不必须包含它才能正常工作。

android-required意味着该功能是强制性的,并且对于未实现该功能的设备,该应用程序将不可见。

例如。-

意味着应用程序使用相机功能。如果相机是您的应用程序的必备功能,则设置android:required="true"将阻止将其下载到没有相机的设备上。

编辑

实际上,我在考虑uses-feature标签。uses-permission没有required属性。

于 2013-10-03T18:55:23.000 回答
3

uses-permission 不使用属性 android:required,但 uses-feature 使用。这些想法相似,但不完全相同,这就是为什么很容易混淆它们的属性要求的原因。

于 2013-10-03T20:36:55.237 回答