Android 8.1拦截Activity

Google的Find My Devices 能够通过Google账号来锁定登录同一个账号的Android 设备。锁定之后只有通过指定的密码或者恢复出厂设置才能解锁该设备。恢复出厂设置会清空用户的数据,不行,而我们的系统是去掉锁屏的也就是不能通过密码来解锁设备了,最后想想看能不能通过拦截该锁屏的Activity来使它不锁屏。参考了https://blog.csdn.net/h55l55/article/details/80434154的博客。
1.设置屏幕不锁屏:进入framework/base/packages/SystemUI目录,在AndroidManifest.xml里面找keyguard关键字,找到如下内容:
Android 8.1拦截Activity
文章图片

【Android 8.1拦截Activity】里面有一个控制keyguardservice的布尔开关config_enablekeyguardService ,因此 考虑关闭这个开关从而关闭KeyguardService,在framework/base/packages/SystemUI/res/values/config.xml文件中修改 config_enableKeyguardService的值为false。

2.拦截Activity:根据https://blog.csdn.net/h55l55/article/details/80434154的博客,找到frameworks/base/core/java/android/app/ActivityThread.java b/frameworks/base/core/java/android/app/ActivityThread.java类的performLaunchActivity()方法,方法内有启动Activity的一系列参数,拿一个唯一标识该Activity的参数做判断,完成相应的操作即可。



    推荐阅读