我很清楚,并非所有手机都通过
camera2
API 产生相机内部功能。然而,我发现非常令人困惑的是,有些手机产生内在函数,而其他“几乎相同”的手机却没有。例如。三星 Galaxy S20 FE (SM-G780G) 通过 camera2
API 产生内在函数,而三星 Galaxy S20 5G (SM-G981B) 奇怪地没有。这看起来很奇怪,原因如下:
这两款手机几乎相同(品牌/制造商、型号、甚至预算......)。
android.hardware.camera.level.full
为什么几乎相同的手机之间存在这种行为差异?
为什么android.hardware.camera.level.full
功能
如何防止我们的应用程序在那些不通过 camera2
API 生成内在函数的设备上显示在 Google Play 中?
设备(例如三星 S20 FE SM-G780G 设备)产生内在函数,这是否意味着相同型号变体的所有设备(即所有三星S20 FE SM-G780G 器件)也能保证产生内在特性吗? 如果某个型号的一种变体(例如 Samsung S20 FE SM-G780
)产生内在函数,这是否意味着同一型号的所有其他变体(例如 Samsung S20 FE SM-G780F)也保证产生内在函数? 有人有类似经历吗?也许我们做错了什么?
硬件级别
FULL
。它过去几乎涵盖了 API 支持的所有内容,但由于定义在定义后无法更改(出于向后兼容性的原因),因此在后续 API 版本中添加了很多
FULL
规范未涵盖的内容。
例如,它不强制要求镜头校准信息,而只有支持DEPTH_OUTPUT或LOGICAL_MULTI_CAMERA
功能的相机才需要镜头校准信息。 尽管任何设备都可以根据需要宣传它们,即使这些功能未列出。 这些三星都有两个版本,一种使用高通处理器,一种使用Exynos处理器。我怀疑是 SoC 的差异导致了镜头校准字段是否存在的差异。每个 SoC 供应商都会向制造商提供默认的相机实现,我怀疑一个供应商提供了校准信息,而另一个供应商则没有。也有可能一部手机在其默认相机应用程序中确实有一个使用此信息的附加功能,因此将其填充到 API 中。
因此,不幸的是,我不一定相信同一部手机的每个变体都具有相同的功能。
对于那些不通过camera2 API产生内在函数的设备,如何防止我们的应用程序在Google Play中显示?
不幸的是,没有系统功能可以涵盖这一点,因此无法对相机内部功能使用 Play 商店过滤。