如何检查引导加载程序是否已解锁

How to check Boot loader is unlocked or not

我正在尝试检查引导加载程序是否已解锁。为此,我在网上查看了一些讨论,但除了 below one(我不知道它是否正确)

之外,我没有得到任何相关信息
String BootLoader_value = Build.BOOTLOADER;

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

我看到了this answer in SO. But now google is providing the API called SafetyNet. In this I've used Attestation API. This API is detecting bootloader is unlocked or not in the device. For other details check this table

如您所述,最可靠的解决方案是使用 SafetyNet Attestation。但是,这不会检测到所有引导加载程序解锁(例如,未检测到我的 Nexus 6 运行 Magisk)。此外,由于其他原因,例如作为模拟器、运行 自定义 ROM、被 root、API 挂钩或什至只有 phone 不是Google 认证。

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