问题描述
我们的应用正在尝试遵循新的“专为儿童设计”政策,该政策不需要请求位置权限:https://support.google.com/googleplay/android-developer/answer/9893335?hl=en
我们需要蓝牙,并要求位置许可才能连接到蓝牙。为了不将我们的应用从Play商店中删除,我们应该删除位置许可请求并切换到CompanionDeviceManager。但是,CompanionDeviceManager仅在API 26+中可用,并且我们有许多旧版本的用户。
我们是否有办法在25-和26+上为手机发布不同的APK? Play商店是否对此提供任何支持,还是我们必须在Play商店上基本维护2个单独的应用?我知道您通常可以根据版本在源代码中进行分支,但是我没有看到可以对清单中的权限进行分支。
解决方法
我尚不完全确定这与“专为儿童设计”政策的相互作用方式,但实际上,与创建多个APK相比,将权限定位到特定SDK版本的方法要简单得多:android:maxSdkVersion
property on the <uses-permission>
tag。您只需在位置权限上设置android:maxSdkVersion="25"
,您的应用就不再需要在API 26+上请求该权限。