Android 一键锁屏

private DevicePolicyManager policyManager;

private ComponentName componentName; //一键锁屏

public void lockWindow(View view) {

policyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);

componentName = new ComponentName(this, LockReceiver.class);

if (policyManager.isAdminActive(componentName)) {

policyManager.lockNow();

android.os.Process.killProcess(android.os.Process.myPid());

} else {

activeManager();

}

}



public class LockReceiver extends DeviceAdminReceiver {

@Override

public void onReceive(Context context, Intent intent) {

super.onReceive(context, intent); }

@Override

public void onEnabled(Context context, Intent intent) {

//激活使用

super.onEnabled(context, intent);

}

@Override

public void onDisabled(Context context, Intent intent) {

//取消激活

super.onDisabled(context, intent);

}

}


<!-- 注册锁屏广播 -->

<receiver

android:name=".LockReceiver"

android:permission="android.permission.BIND_DEVICE_ADMIN">

<meta-data

android:name="android.app.device_admin"

android:resource="@xml/lock_screen" />

<intent-filter>

<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />

</intent-filter>

</receiver>



<?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>



private void activeManager() {

Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);

intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName);

intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "一键锁屏");

startActivity(intent);

}



@Override

protected void onResume() {

super.onResume();

/**

* @author David created at 2016/11/9 11:59

* 当你第一次激活锁屏功能后实现锁屏

*/

if (policyManager != null && policyManager.isAdminActive(componentName)) {

policyManager.lockNow();

android.os.Process.killProcess(android.os.Process.myPid());

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值