在 Play 商店中,“您的设备与此版本不兼容” - 可能是由于相机
Posted
技术标签:
【中文标题】在 Play 商店中,“您的设备与此版本不兼容” - 可能是由于相机【英文标题】:On play store, "Your device isn't compatible with this version" - probably due to camera 【发布时间】:2019-10-02 10:02:59 【问题描述】:我有一个 android 应用程序,它在 build.gradle 文件中将 minSdkVersion 列为 23(应该与 Android 6.0 匹配)和 targetSdkVersion 为 26,以及 compile 为 26。
我的设备是 Zebra TC20,Android 版本为 7.1。
我认为问题在于我的应用程序允许用户访问相机以获得特定(可选)功能 - TC20 没有相机。我尝试在 TC20 上使用该功能,但它崩溃了。
当然,像任何开发人员一样,我在 Google 上四处搜索以了解发生了什么,发现 this answer 建议您在启动之前检查功能是否可用,我发现 this answer 描述了如何检查用于相机。
现在,我的主要活动根本没有使用相机,但我的主要活动是通过startActivityForResult
启动另一个活动,而该活动使用了相机。所以我在我的代码中所做的是在主要活动中,在启动使用相机的活动之前,我首先检查相机if (pm.hasSystemFeature(PackageManager.FEATURE_CAMERA))
,并且只有在它存在时才启动,否则会显示相机不是' t 可用。
我自己安装了 APK 并检查了它是否可以在 TC20 设备上运行,并且确实可以运行。那么我的问题是,这是否足以让 TC20 在 Playstore 上下载我的应用程序?我是否还需要在其他活动的内部进行功能请求?为 Playstore 进行此类检查的准则是什么?
【问题讨论】:
***.com/questions/30542162/… @IntelliJAmiya 所以这是一个很好的领导!那么我的问题是:目前,我的 Manifest 显示uses-permission ... CAMERA
- 基于该答案,看来我只需添加 <uses-feature android:name="android.hardware.camera" android:required="false" />
就可以了?
我把uses-feature
放在uses-permission
之前还是之后有关系吗?我是否也必须将required
属性放在权限上?
@IntelliJAmiya 考虑到我也在使用自动对焦,我应该包括<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
吗?
你可以这样做。
【参考方案1】:
将这些添加到可能的应用清单中:
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-feature android:name="android.hardware.camera.autofocus" android:required="false" />
每位用户 IntelliJAmiya 和 this answer here
【讨论】:
以上是关于在 Play 商店中,“您的设备与此版本不兼容” - 可能是由于相机的主要内容,如果未能解决你的问题,请参考以下文章