Nic*_*oul 8 android geolocation android-manifest google-play android-permissions
我的应用程序(GitHub上的代码)被Google Play拒绝,原因是:
请删除所请求的后台位置权限并向您的应用提交更新。
但是,我的应用程序没有声明权限ACCESS_BACKGROUND_LOCATION:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.READ_SYNC_STATS" />
<uses-permission android:name="android.permission.REORDER_TASKS" />
<uses-permission android:name="android.permission.WRITE_SYNC_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.MANAGE_ACCOUNTS" />
<uses-permission android:name="com.google.android.apps.photos.permission.GOOGLE_PHOTOS" />
<uses-permission android:name="android.permission.SET_WALLPAPER"/>
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
Run Code Online (Sandbox Code Playgroud)
我首先怀疑 Mapbox,因为我的应用程序包含这些库:
implementation 'com.mapbox.mapboxsdk:mapbox-android-sdk:9.1.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-localization-v8:0.11.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-plugin-scalebar-v9:0.4.0'
implementation 'com.mapbox.mapboxsdk:mapbox-android-telemetry:6.1.0'
Run Code Online (Sandbox Code Playgroud)
但是,我的应用程序仅在应用程序运行时在屏幕上完全可见时才检查位置。
此外, Android Studio 显示的合并清单不包括ACCESS_BACKGROUND_LOCATION:
似乎设置android:minSdkVersion="29"可以绕过这个问题,但我不能这样做,因为我有数千个重要用户。
我还尝试添加一个弹出窗口,否认该应用程序在后台使用位置(即使它没有),但这也被拒绝,原因如下:
无需访问后台位置即可提供类似的体验。
问题:什么可能让别人认为我在后台使用位置信息?
来自 Android 10 官方隐私变更
\n针对 Android 9 或更低版本时自动授予访问权限
\n如果您的应用在 Android 10 或更高版本上运行,但面向 Android 9(API 级别 28)或更低版本,则平台将应用以下行为:
\n如果您的应用程序声明了或的<uses-permission>元素,系统会在安装过程中自动添加 的元素。ACCESS_FINE_LOCATIONACCESS_COARSE_LOCATIONACCESS_BACKGROUND_LOCATION
如果您的应用程序请求ACCESS_FINE_LOCATION或ACCESS_COARSE_LOCATION,系统会自动将 ACCESS_BACKGROUND_LOCATION 添加到请求中。
设备升级到Android 10时访问
\n如果用户授予您的应用访问设备位置 \xe2\x80\x93 或ACCESS_COARSE_LOCATION\ ACCESS_FINE_LOCATIONxe2\x80\x93 的权限,然后将其设备从 Android 9 升级到 Android 10,系统会自动更新授予您的应用的基于位置的权限集。您的应用程序在升级后收到的权限集取决于其目标 SDK 版本及其定义的权限,如下表所示:此处
换句话说,这完全取决于您的 Target 平台版本。
\n| 归档时间: |
|
| 查看次数: |
4747 次 |
| 最近记录: |