我在我的应用程序中有一些权限,例如
<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" />
Run Code Online (Sandbox Code Playgroud)
我怀疑他们实际上并不是必需的.
根据Android文档,他们都暗示了这一点
<uses-feature
android:name="android.hardware.location"/>
Run Code Online (Sandbox Code Playgroud)
是真实的和必需的.
所以,举例来说,如果我拿出其中三分之二的命令,我所有与A-GPS相关的呼叫仍然会以完全相同的方式工作?
除了重复Android文档的人之外,似乎没有太多关于此的文献.
最终,我认为暗示android:required = true代码的许多元素限制了我可以访问的设备数量.
<uses-feature
android:name="android.hardware.location" android:required="false"/>
Run Code Online (Sandbox Code Playgroud)
将向应用程序开放更多设备,我可以在应用程序中使用条件逻辑来允许执行某些功能.
但我的主要问题是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但在哪里可以看到所有可能性是什么?