android:required =" false"意味着使用权限的WRT?

时间:2013-10-03 18:51:47

标签: android android-manifest

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

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

我理解android:required="false"上的uses-feature,但我无法理解权限的含义。它未在docs中列为属性。

它与requires上的uses-feature相似吗?如果权限意味着列出here列出的功能,那么这些功能是不是必需的?

3 个答案:

答案 0 :(得分:5)

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

android-required表示该功能是必需的,对于未实现此功能的设备,该应用将不可见。

例如.-

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

修改

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

答案 1 :(得分:5)

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

  

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

我建议您的SDK文档可能有误,并且您应该为任何隐含功能添加<uses-feature>标记。

答案 2 :(得分:2)

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