我的应用程序中有一些权限,例如
<uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
我怀疑它们实际上并不是必需的。
根据Android文档,它们都暗示
<uses-feature
android:name="android.hardware.location"/>
是真实的和必需的。
所以,例如,如果我取出三个命令中的两个,我所有与 A-GPS 相关的调用仍然会以完全相同的方式工作吗?
除了人们重复 android 文档之外,似乎并没有太多关于此的文献。
最终,我认为对这么多代码元素暗示 android:required = true 限制了我可以访问的设备数量。
<uses-feature
android:name="android.hardware.location" android:required="false"/>
将向更多设备开放应用程序,我可以在应用程序中使用条件逻辑来允许执行某些功能。
但我的主要问题是它android.hardware.location
涵盖了很多<uses-permission/>
功能。没有android.hardware.location.ACCESS_MOCK_LOCATION
或android.hardware.location.CONTROL_LOCATION_UPDATES
,只有android.hardware.location
这里有几个假设,但 android 开发人员文档并没有详细说明,只是表明这些单独的uses-permissions
意味着需要一个uses-feature
。当它不一定是必需的时,我只想确保我的 android sdk 调用有权运行
问题:
1) 如果我取出其中三个中的两个uses-permissions
,我的所有与 A-GPS 相关的调用是否仍会像我设置了所有这些单独的权限一样以完全相同的方式工作?
2) 是否android.hardware.location
变得更具体?我已经看到android.hardware.location.NETWORK
了,但是我在哪里可以看到所有的可能性?