Android-一键锁屏实现步骤

1) 注册成为系统组件
–> 定义广播接收器DeviceAdminReceiver,重写onEnable(); onDisable()

public class DeviceAdminRC extends DeviceAdminReceiver {

    @Override
    public void onEnabled(Context context, Intent intent) {
        Toast.makeText(context,"Registered",Toast.LENGTH_SHORT).show();
        super.onEnabled(context, intent);
    }

    @Override
    public void onDisabled(Context context, Intent intent) {
        Toast.makeText(context,"Unregistered",Toast.LENGTH_SHORT).show();
        super.onDisabled(context, intent);
    }
}

–>manifest 定义receiver

<receiver android:name=".DeviceAdminRC">

    <meta-data
        android:name="android.app.device_admin"
        android:resource="@xml/device_admin" />
    <intent-filter>
        <action android:name="android.app.ation.DEVICE_ADMIN_ENABLED" />
        <action android:name="android.app.ation.DEVICE_ADMIN_DISABLED" />
    </intent-filter>
</receiver>

–> 添加device_admin.xml文件

<?xml version="1.0" encoding="utf-8"?>

<device-admin xmlns:android="http://schemas.android.com/apk/res/android">

    <uses-policies>
        <force-lock/>
    </uses-policies>

</device-admin>

–> MainActivity 定义DevicePolicyManager

private DevicePolicyManager devicePolicyManager;

–> 初始化DevicePolicyManager

devicePolicyManager = (DevicePolicyManager) getSystemService(DEVICE_POLICY_SERVICE);

–> 注册成设备管理者

case R.id.btnRegisterDeviceAdmin:

    Intent i = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
    i.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,new ComponentName(this,DeviceAdminRC.class));
    startActivity(i);
    break;

–> 取消注册设备管理者

case R.id.btnUnregisterDeviceAdmin:

    devicePolicyManager.removeActiveAdmin(new ComponentName(this,DeviceAdminRC.class));
    break;

–>锁屏

case R.id.btnLockSreen:

    devicePolicyManager.lockNow();
    break;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

githan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值