vlk*_*kpo 6 android admin device
我不想做广告,但我的应用程序行为的示例应用程序是ESET防病毒.
我的应用程序的一个请求功能是,需要卸载密码.我将我的应用程序添加到设备管理员列表中,现在无法将其卸载.但你可以将Deactive app作为管理员设备.您可以转到设置>位置和安全>选择设备管理员并尝试取消激活ESET安全性它启动活动(我想从DeviceAdminReceiver.onDisableRequested())等待密码并且您的移动设备已被锁定.主页按钮,后退按钮甚至SwitchOff按钮都没有反应=>
Home,Back,SwitchOff和Camera按钮如何反应?
编辑 - 删除了第二个问题(我从手机中取出电池后 - ESET也不是设备管理员)
谢谢你的想法.
好吧,抱歉 ESET,但这个功能看起来很有趣,所以我看了一下反编译的源代码:)
基本工作流程如下:
com.eset.ems.antitheft.receiver.AdminReceiver的子类DeviceAdminReceiver已注册广播操作DEVICE_ADMIN_ENABLED并且DEVICE_ADMIN_DISABLEDcom.eset.ems.antitheft.receiver.AdminReceiver.onDisabled()调用com.eset.ems.antitheft.LockActivity是从AdminReceiver.onDisabled()LockActivity显示com.eset.ems.antitheft.LockingDialog最阻碍魔法发生的地方至于主页和其他按钮阻止防病毒软件执行以下技巧 - 它使用Android 内部的ActivityManagerNative 。为了保持LockActivity所有其他活动的领先地位,它启动了一个不断调用ActivityManagerNative.moveTaskToFront()任务LockActivityID 的线程。在 API 级别 10 之前,反射用于访问ActivityManagermoveTaskToFront()类中的隐藏内容,而在 API 10 之后,它仅使用Android 代码库中的代码来访问它。也多次调用方法。这样做可能是为了取消长按电源按钮后出现的系统对话框。ActivityManagerNativeLockActivityLockingDialogActivityManagerNative.closeSystemDialogs()
至于停止执行DeviceAdminReceiver.onDisableRequested实际上我没有注意到代码中有什么特别的地方。它仅在禁用设备管理后启动活动,仅此而已。在我取出电池后,我的手机设备管理员被禁用。
| 归档时间: |
|
| 查看次数: |
394 次 |
| 最近记录: |