首页 > 其他分享 >android实现一键锁屏

android实现一键锁屏

时间:2022-10-23 10:44:24浏览次数:53  
标签:DevicePolicyManager app 一键 锁屏 new import android

创建AdminReceiver

import android.app.admin.DeviceAdminReceiver;

public class AdminReceiver extends DeviceAdminReceiver {
}

在xml中创建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>

在manifest中加入

      <receiver
            android:name=".AdminReceiver"
            android:permission="android.permission.BIND_DEVICE_ADMIN"
            android:exported="false">
            <meta-data
                android:name="android.app.device_admin"
                android:resource="@xml/device_admin" />

            <intent-filter>
                <action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
            </intent-filter>
        </receiver>

最后MainActivity

import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;

import android.app.admin.DevicePolicyManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.os.Process;
import android.os.SystemClock;

public class MainActivity extends AppCompatActivity {
    private ComponentName componentName;

    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 onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ActionBar actionBar = getSupportActionBar();
        actionBar.hide();
        new Thread(new Runnable() {
            @Override
            public void run() {
                DevicePolicyManager dpm = (DevicePolicyManager)
                        getSystemService(Context.DEVICE_POLICY_SERVICE);
                componentName = new ComponentName(getApplicationContext(),
                        AdminReceiver.class);
                if (dpm.isAdminActive(componentName)) {//判断是否有权限(激活了设备管理器)
                    dpm.lockNow();// 直接锁屏
                    //杀死当前应用
                    Process.killProcess(Process.myPid());
                } else {
                    activeManager();//激活设备管理器获取权限
                }
            }
        }).start();
    }
}

 

 

 

标签:DevicePolicyManager,app,一键,锁屏,new,import,android
From: https://www.cnblogs.com/Frank-dev-blog/p/16818081.html

相关文章

  • android播放60帧动画
    implementation'com.airbnb.android:lottie:4.2.0'导入上面的包下载动画文件json放入assets中布局文件代码 <com.airbnb.lottie.LottieAnimationView......
  • 一键部署harbor脚本
    #支持在线和离线安装,建议离线下载好包安装HARBOR_VERSION=2.6.1#HARBOR_VERSION=2.6.0HARBOR_BASE=/appsHARBOR_NAME=harbor.wang.org#HARBOR_NAME=`hostname-I|awk'{prin......
  • android调用shell
    工具类importandroid.util.Log;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;pub......
  • android连接mysql
    导入Mysql的jar,和rxjavaimplementation"io.reactivex.rxjava2:rxjava:2.2.10"implementation"io.reactivex.rxjava2:rxandroid:2.0.2" 创建DBOpenHelper......
  • Android掌控WiFi不完全指南
    前言如果想要对针对WiFi的攻击进行监测,就需要定期获取WiFi的运行状态,例如WiFi的SSID,WiFi强度,是否开放,加密方式等信息,在Android中通过WiFiManager来实现WiFiManager简介W......
  • android pthread_t
    最近在解决tvm绑核问题时,发现android下绑核只有sched_setaffinity函数,这导致无法使用标准库中的td::thread::native_handle_typethread进行绑核操作。虽然在ndk21以上的......
  • Android USB之复合设备(gadget)详解
    一.USBgadgetdriverUSBgadget驱动描述了USB设备控制器的硬件操作方法,不同的USB控制器实现不同。有的USB控制器只能作为设备控制器,如ompa、pxa2等USB设备控制器,其......
  • 防止电脑锁屏小脚本
    防止电脑锁屏小脚本  运行环境:java环境。使用方式:当前目录下:java-jarrobot.jar 提取地址:链接:https://pan.baidu.com/s/1tHw0W_JN89GHlLYprsc0-g?pwd=6......
  • 利用Python操作Android手机刷抖音
    前言:    很多时候,想要学习一个陌生领域的知识时,需要先定一个或基础或高阶的目的,这个目标最好带有趣味性,然后锚定这个目标;或许最终目标很轻松就被实现了,也或许最终发......
  • 一键启动vscode网页版
    自建在线开发环境核心是vscode,vscode使用MIT协议,意味着我们所有人都可以修改和衍生code-server(vscode网页版)version:"3"services:vscode-web:imag......