Welcome 微信登录

首页 / 操作系统 / Linux / Android获取系统隐藏服务实现锁屏

实现原理:当按锁屏键时,会发出一个广播,当界面接收到一个广播就可以实现锁频。我们可以调用IDevicePolicyManager服务中的lockNow方法来发送一个广播实现锁屏。IDevicePolicyManager是被系统隐藏掉的,需要通过反射还获取此服务。 步骤:1.创建MyAdmin的广播接收者继承DeviceAdminReceiver2.通过反射 ,获取IDevicePolicyManager服务 ,IDevicePolicyManager通过AIDL来获取出来。3.注册广播接收者为admin设备4.获取服务中的方法效果图:    注册MyAdmin广播接收者:
  1. <receiver Android:name=".MyAdmin">  
  2.     <meta-data android:name="android.app.device_admin"  
  3.         android:resource="@xml/my_admin" />  
  4.     <intent-filter>  
  5.         <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />  
  6.     </intent-filter>  
  7. </receiver>  
my_admin.xml:
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <device-admin xmlns:android="http://schemas.android.com/apk/res/android">  
  3.         <uses-policies>  
  4.                 <limit-password />  
  5.                 <watch-login />  
  6.                 <reset-password />  
  7.                 <force-lock />  
  8.                 <wipe-data />  
  9.         </uses-policies>  
  10. </device-admin>