在 Jelly Bean 等旧设备上获取 Samsung KNOX api 版本
Posted
技术标签:
【中文标题】在 Jelly Bean 等旧设备上获取 Samsung KNOX api 版本【英文标题】:Get Samsung KNOX api version on old devices like Jelly Bean 【发布时间】:2020-08-20 04:36:04 【问题描述】:我有一台搭载 android 4.3 Jelly Bean 的三星 Galaxy Camera 2(它与三星 Galaxy S3 的使用时间差不多)。
Their docs 告诉我,在 Jelly Bean 上我可以找到 KNOX Api 级别 5 - 10。
那么,我如何找出我实际拥有的 KNOX Api 级别?
我在设置的系统信息页面中找不到它 我还没有找到找回它的方法programmatically【问题讨论】:
【参考方案1】:首选方法:获取 API 级别为 int
EnterpriseDeviceManager.getAPILevel(); 上的文档关于 API 级别“自:Knox API 级别 24”是错误的!
EnterpriseDeviceManager.getAPILevel(); 确实可以在旧设备上运行,例如搭载 Android 4.2.2 的三星 Galaxy Camera NX(返回 7)和三星 Galaxy Camera 2(返回 9)使用 KNOX 的向后兼容库(Knox SDK Support Library for Old Namespace Translation)时!
替代方法:测试方法
这就是我们最终在旧设备上测试 KNOX Api 级别的方式。
我们在他们的文档中寻找只存在于某些 API 级别的方法和类:
【讨论】:
不错。那是一份侦探工作。你很幸运,版本之间有实际的 API 变化,而不仅仅是错误修复。 Indeed ;) 在编写我们意识到的高效应用程序时,并不需要知道确切的 API 级别。我们只是在使用它们之前检查方法的存在。【参考方案2】:手动
较新的设备
设置 > 关于设备 > 软件信息 > Knox 版本
旧设备
在此处查找您的设备:Devices Secured by Knox
以编程方式
对于 API 级别 24 及更高级别,您可以使用 EnterpriseDeviceManager.getAPILevel() 检索 API 级别。它返回EnterpriseDeviceManager.KNOX_VERSION_CODES 中定义的任何常量。
使用该整数值,您可以转到reference table 并查看更多详细信息。
【讨论】:
安卓 4.3。如果我可以在“软件信息”中阅读它,我就不会问这个问题了。我绝对没有 API 级别 24。 我已经编辑了答案并添加了指向三星网站搜索页面的链接,您可以在其中按设备名称和型号进行搜索。不幸的是,您的设备 (GC200) 与其说是一部手机,不如说是一部相机,而且它甚至没有出现在那里。 那个列表是垃圾。它没有低于 Android 5.0 的设备。 GC200 支持 KNOX,但我们想确定版本。我们还有三星 Galaxy S4 mini 作为开发设备,它也没有出现在该列表中。以上是关于在 Jelly Bean 等旧设备上获取 Samsung KNOX api 版本的主要内容,如果未能解决你的问题,请参考以下文章
Jelly Bean (api 16) 的 READ_LOGS 权限
相机 API 适用于 Jelly Bean 但不适用于 Kitkat