Android9.0默认将开发者选项中的OEM锁开关打开

做项目时偶尔会遇到客户需求中有这样的要求:默认将开发者选项中的OEM锁开关打开

修改这个需求可以:

到frameworks/base/services/usb/java/com/android/server/usb/UsbDeviceManager.java中的finishBoot()方法中添加如下两行代码:

OemLockManager mOemLockManager = (OemLockManager) mContext.getSystemService(Context.OEM_LOCK_SERVICE);
mOemLockManager.setOemUnlockAllowedByUser(true); 

记得导入包import android.service.oemlock.OemLockManager;

本人只到9.0系统修改验证过,其他系统SDK应该也差不多

顺便科普一下OEM锁是干嘛用的,以及它和开发者选项之间的关系:

手机厂家在自己出厂的手机上一般都加了BL(bootloader引导加载程序,相当于电脑的BIOS)锁,这是为了防止刷入非本厂家的系统。这个OEM解锁就是允许解BL锁,请注意这只是允许,并不是说这样就解锁了BL,要解BL,需要知道解BL的方法,不然这个OEM解锁打开了也没有用。解了BL锁才可以刷其它的包,以及其它的recovery,例如,华为手机刷小米的定制系统。

允许OEM解锁是允许进行OEM方面的控制,例如允许进行fastboot oem unlock命令,如果你不理解这个命令是怎么回事,那么建议不要进行/允许任何解锁,也不要刷机

开发者选项是另一回事,只不过OEM解锁的开关被放在开发者选项中而已,不能混淆,它们两之间没半毛钱关系

开发者选项是Android自带的东西,让一些高级用户/开发者做调试/调整使用的,仅此而已

你可能感兴趣的:(Android,安卓,平板)