<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?
是的,你的理解是正确的。
来自https://developer.android.com/guide/topics/manifest/uses-feature-element:
Google Play使用应用清单中声明的元素,从不符合其硬件和软件功能要求的设备中过滤您的应用。通过指定应用程序所需的功能,您可以启用Google Play,仅向设备符合应用程序功能要求的用户展示您的应用程序,而不是将其呈现给所有用户
我想知道确切使用功能的用途
声明的目的是通知任何外部实体您的应用程序所依赖的硬件和软件功能集。该元素提供了一个必需属性,允许您指定应用程序是否需要在没有声明的功能的情况下才能运行,或者它是否更喜欢具有该功能但可以在没有该功能的情况下运行。由于功能支持可能因Android设备而异,因此该元素在让应用程序描述其使用的设备变量功能方面发挥着重要作用。
这里,“外部实体”通常表示应用分发渠道,如Play商店。
我的理解是对的吗?
是。 <uses-feature>
的一个作用是表明某些特征不是必需的,其中a permission would imply that it is required。
因为我发现它很有趣有功能android.hardware.wifi ..什么手机,移动设备没有wifi?
Android设备无需支持WiFi。例如,Android用于车辆,从汽车到波音787梦想飞机,这些环境可能无法提供WiFi。
你的理解是正确的。 uses
标签主要用于过滤商店。这意味着可能拥有不支持您的应用所需功能的设备的用户将无法在列表中看到您的应用。
作为旁白。有很多Android设备没有无线芯片组。我一直在使用基于Android的条形码扫描仪,它没有Wifi,也没有GPS服务。最好根据设备的功能处理代码中的内容。
希望这可以帮助。