0

我正在尝试检查引导加载程序是否已解锁。为此,我在网上检查了一些讨论,但除了以下内容外,我没有得到任何相关信息(我不知道它是否正确)

String BootLoader_value = Build.BOOTLOADER;

但这unknown为每个设备提供了字符串。任何人都知道,如何检测boot loader是否解锁

4

2 回答 2

0

我在 SO 中看到了这个答案。但现在 google 提供了名为SafetyNet的 API 。在这我使用了Attestation API。此 API 正在检测设备中的引导加载程序是否已解锁。有关其他详细信息,请查看此

于 2019-02-15T04:25:54.250 回答
0

正如您所提到的,最可靠的解决方案是使用 SafetyNet Attestation。但是,这不会检测到所有引导加载程序解锁(例如,未检测到运行 Magisk 的我的 Nexus 6)。此外,您可能会因为其他原因导致设备出现故障,例如作为模拟器、运行自定义 ROM、被 root、API 挂钩,甚至只是拥有未经 Google 认证的手机。

如果您对保证引导加载程序被解锁的情况感兴趣,请使用 SafetyNet Attestation API 并查看建议字段。如果 API 检测到未锁定的引导加载程序,{"advice": "LOCK_BOOTLOADER"}将出现在令牌中。请注意,在正常使用情况下,不会有建议字段。

于 2019-03-01T13:36:10.860 回答