<uses feature =“”> tan in android </uses>

时间:2014-11-11 16:01:52

标签: android manifest

<uses-permission android:name="android.permission.PHONE_STATE" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission   
  android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_USER_DICTIONARY" />
<uses-permission android:name="android.permission.CALL_PHONE" />
<uses-permission android:name="android.permission.READ_USER_DICTIONARY" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-feature
    android:name="android.hardware.location"
    android:required="false" />
<uses-feature
    android:name="android.hardware.location.gps"
    android:required="false" />
 <uses-feature
    android:name="android.hardware.location.network"
    android:required="false" />
  <uses-feature
    android:name="android.hardware.wifi"
    android:required="false" />
<uses-feature
    android:name="android.hardware.telephony"
    android:required="false" />
<uses-feature
    android:glEsVersion="0x00020000"
    android:required="true" />

我基本上在清单中声明了这一点。我想知道功能的确切用途。

从我的理解,如果我声明权限access_coarse_location和所有这一切,这意味着我的应用程序使用功能android.hardware.location ..并为此自动设置为true。 通过将该功能指定为false,我告诉android store ..即使他没有位置硬件,用户也可以下载这个应用程序。因为这个东西是在代码内处理的?

我的理解是对的吗?因为我觉得很有趣,有功能android.hardware.wifi .. 什么手机,移动设备没有wifi?

3 个答案:

答案 0 :(得分:2)

是的,你的理解是正确的。

来自https://developer.android.com/guide/topics/manifest/uses-feature-element

  

Google Play使用您应用中声明的元素   清单,以便从不符合要求的设备中过滤您的应用   硬件和软件功能要求。通过指定功能   您的应用需要,您可以启用Google Play来展示您的应用   仅适用于其设备符合应用程序功能的用户   要求,而不是将其呈现给所有用户

答案 1 :(得分:1)

  

我想知道功能的确切用途

引用the documentation

  

声明的目的是通知任何外部实体您的应用程序所依赖的硬件和软件功能集。该元素提供了一个必需属性,允许您指定应用程序是否需要在没有声明的功能的情况下才能运行,或者它是否更喜欢具有该功能但可以在没有该功能的情况下运行。由于功能支持可能因Android设备而异,因此该元素在让应用程序描述其使用的设备变量功能方面发挥着重要作用。

此处,“外部实体”通常指的是应用分销渠道,例如Play商店。

  

我的理解是对的吗?

是。 <uses-feature>的一个作用是表示某些功能a permission would imply that it is required

  

因为我觉得它很有趣有功能android.hardware.wifi ..什么手机,移动设备没有wifi?

不要求Android设备支持WiFi。例如,Android用于车辆,从汽车到波音787梦想飞机,这些环境可能无法提供WiFi。

答案 2 :(得分:1)

你的理解是正确的。 uses标记主要用于过滤商店。这意味着,如果用户的设备不支持您的应用所依赖的必需功能,则不会在列表中看到您的应用。

暂且不说。有很多Android设备没有无线芯片组。我一直在使用基于Android的条形码扫描仪,它没有Wifi,也没有GPS服务。最好根据设备的功能处理代码中的内容。

希望这有帮助。