从Android 2.2开始,加入了一个新的锁屏API 位于android.app.admin.DevicePolicyManager 包,DevicePolicyManager类的lockNow方法可以锁住屏幕,查看Android源代码发现其实是从IDevicePolicyManager实现的,整个AIDL接口 调用代码为:
- private final IDevicePolicyManager mService;
- mService = IDevicePolicyManager.Stub.asInterface(
- ServiceManager.getService(Context.DEVICE_POLICY_SERVICE));
- if (mService != null) {
- try {
- mService.lockNow();
- } catch (RemoteException e) {
- Log.w(TAG, "Failed talking with device policy service", e);
- }
- }
这里 Android123提示大家传统的方法加入<uses-permission android:name="android.permission.DISABLE_KEYGUARD"></uses- permission>权限,使用下面代码可以锁住键盘,但屏幕不行
- KeyguardManager km = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE);
- KeyguardLock kl= km.newKeyguardLock(KEYGUARD_SERVICE);
- kl.reenableKeyguard();
本文介绍了从Android 2.2版本开始引入的新锁屏API,该API通过DevicePolicyManager类的lockNow方法实现屏幕锁定。在Android源代码中,这个功能依赖于IDevicePolicyManager的AIDL接口调用。传统的keyguard管理方式虽然能禁用键盘,但无法锁定屏幕。使用新API则能有效实现屏幕锁定。
785

被折叠的 条评论
为什么被折叠?



