我在我的应用程序中有一些权限,例如
<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但在哪里可以看到所有可能性是什么?
我已经在Play商店中启动了我的应用,当我检查实时应用时,该应用与所有android设备都不兼容。我检查了Play商店控制台。它显示了0个支持的设备。我不知道为什么我的应用程序不支持任何设备。
Manifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="zkm.com.zkm">
<uses-permission android:name="android.permission.INTERNET">
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.permission.CAMERA" />
<uses-feature
android:name="android.hardware.camera"
android:required="true" />
<application
android:name="zkm.com.zkm.Utils.AppController"
android:allowBackup="true"
android:hardwareAccelerated="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true"
tools:ignore="GoogleAppIndexingWarning">
<activity
android:name="zkm.com.zkm.Activity.Splash"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateAlwaysHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="zkm.com.zkm.Activity.WelcomeActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateAlwaysHidden" />
<activity
android:name="zkm.com.zkm.Activity.CarerSeekerActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="adjustPan|stateAlwaysHidden"
/>
<activity
android:name="zkm.com.zkm.Activity.SeekerAdditionalDetailActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateAlwaysHidden" />
<activity
android:name="zkm.com.zkm.Activity.CareSeekerRegistrationActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateAlwaysHidden" />
<activity
android:name="zkm.com.zkm.Activity.LoginActivity"
android:screenOrientation="portrait"
android:windowSoftInputMode="stateAlwaysHidden" /> …Run Code Online (Sandbox Code Playgroud) android android-intent android-screen-support google-play-console