牙叔教程 简单易懂

效果展示



环境

Autojs版本: 9.0.5

Android版本: 10

MIUI版本: 12.5.1

MT管理器: 2.9.9

autojs8和autojs9的app打包后目录不一样, 添加文件的方法大致相同,

如果你对mt管理器不熟悉, 请使用autojs9来学习本教程

设备管理器只适用于低版本的安卓和类安卓原生的手机

一键锁屏流程

  1. 用autojs随便打包一个app, 该app可以执行指定路径的脚本
  2. 在res目录下添加admin_policies.xml文件
  3. 添加类MyAdmin继承DeviceAdminReceiver
  4. 用MT管理器在AndroidManifest.xml清单文件里注册广播

代码讲解

1. res目录下添加admin_policies.xml文件
<?xml version="1.0" encoding="utf-8"?>
<device-admin xmlns:android="http://schemas.android.com/apk/res/android"><uses-policies><force-lock /><watch-login /></uses-policies>
</device-admin>
2. 清单中有一个资源文件
android:resource="@xml/admin_policies
3. 添加资源索引
  1. 点击resources.arsc
  2. 选择Arsc编辑器++
  3. 展开xml文件夹
  4. 选择xml
  5. 添加一行 res/admin_policies.xml
  6. 返回, 选择type-info
  7. 添加一行
4. AndroidManifest.xml清单文件里注册广播
<receiver android:name="com.yashu.yashu.ApplicationService$MyAdmin" android:permission="android.permission.BIND_DEVICE_ADMIN"><meta-data android:name="android.app.device_admin" android:resource="@xml/admin_policies" /><intent-filter><action android:name="android.app.action.DEVICE_ADMIN_ENABLED" /><action android:name="android.app.action.ACTION_PASSWORD_FAILED" /><action android:name="android.app.action.ACTION_PASSWORD_SUCCEEDED" /></intent-filter>
</receiver>
5. 添加类MyAdmin继承DeviceAdminReceiver, autojs9有2个classes.dex, 这个类改名为classes3.dex添加进打包后的app中
package com.yashu.yashu;public class ApplicationService extends Service {public static class MyAdmin extends DeviceAdminReceiver {private static final String TAG = "MyAdmin";@Overridepublic void onEnabled(@NonNull Context context, @NonNull Intent intent) {...}@Overridepublic void onDisabled(@NonNull Context context, @NonNull Intent intent) {...}@Overridepublic void onPasswordFailed(@NonNull Context context, @NonNull Intent intent, @NonNull UserHandle user) {}@Overridepublic void onPasswordSucceeded(@NonNull Context context, @NonNull Intent intent) {}@Overridepublic void onReceive(@NonNull Context context, @NonNull Intent intent) {...}}...}
6. UI界面
ui.layout(<vertical><text text="牙叔教程 简单易懂" textSize="28sp" textColor="#fbfbfe" bg="#00afff" w="*" gravity="center"></text><button id="锁屏" textSize="60sp" margin="30">锁屏</button><button id="移除设备管理器权限" bg="#f5222d" textSize="60sp" margin="30"></button></vertical>
);
7. 申请设备管理权限
function 申请设备管理器权限() {let intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName);intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "牙叔教程 简单易学");activity.startActivityForResult(intent, 11);
}
8. 移除设备管理权限
devicePolicyManager.removeActiveAdmin(componentName);
9. 锁屏
devicePolicyManager.lockNow();

名人名言

思路是最重要的, 其他的百度, bing, stackoverflow, 安卓文档, autojs文档, 最后才是群里问问
— 牙叔教程

声明

部分内容来自网络
本教程仅用于学习, 禁止用于其他用途

bilibili

牙叔教程

微信公众号 牙叔教程

QQ群

747748653

完整源码

autojs一键锁屏相关推荐

  1. autojs锁屏(autojs一键锁屏)

    autojs一键锁屏流程 用autojs随便打包一个app, 该app可以执行指定路径的脚本 在res目录下添加admin_policies.xml文件 添加类MyAdmin继承DeviceAdmin ...

  2. [安卓应用发布]HOLO一键锁屏

    一个极简的一键锁屏应用,holo风格,使用系统默认图标. http://pan.baidu.com/s/1ovOqt 截图: 转载于:https://www.cnblogs.com/zijinzhen ...

  3. (安卓)一键锁屏 ---亲测!

    一键锁屏的实现原理:当按锁屏键的时候,会发出一个广播,当用户界面接收到一个广播的时候就可以实现锁屏.而广播的发送是我们调用DevicePolicyManager(设备管理接收者)中的lockNow() ...

  4. 如何快速使计算机锁屏,电脑如何一键锁屏?有急事时如何快速锁屏?[多图]

    ?现在,电脑可以说是我们日常工作和生活中的重要工具了,存储了许多重要的数据.而在我们使用电脑进行工作的时候,更加要注意保护电脑的数据安全.一般情况下,我们会设置电脑开机密码,有事情的时候就锁屏保护电脑 ...

  5. android实现一键锁屏

    最近想写一个一键锁屏功能的android小程序,找了很多网上的例子,也看了SDK文档,几乎所有的代码都大同小异,但是有很多人都会在调试的时候出现各种问题,大多数人的Logcat中都会出现:" ...

  6. 电脑设置一键锁屏方法

    短时间内不在电脑面前,又不想被别人偷窥隐私,可以对电脑设置一键锁屏.设置的方法也很简单,可以直接通过快捷键操作,下面我们就来看看具体的操作. win10骨头精简版下载_win10最小精简版500m 6 ...

  7. 华为手机如何把计算机添加到桌面,华为手机一键锁屏添加桌面快捷方式的操作步骤...

    华为手机作为拥有便捷高稳定性的国产智能手机代表,其品牌的美誉度,很多来源于实践应用的效果.科技与实用相结合,美观与实用相结合,精致贴心满足大众生活需要,更轻松的满足了一众之所需,刚刚好是华为手机的主要 ...

  8. 三星N900刷机包 基于颓废NO.7更新 状态栏透明 右上角一键锁屏

    ___________________________________________________________________ Rom下载地址:http://www.shuajizhijia. ...

  9. android锁屏软件开发,Android一键锁屏开发全过程

    一.项目简介: 项目:<Android 一键锁屏> 开发周期:4天 代码量:100行 二.项目流程: 三.项目代码 1.主程序代码: 1.private DevicePolicyManag ...

最新文章

  1. 某熊周刊:一周推荐外文技术资料(12.2)
  2. switch手柄可以连电脑吗_电脑可以拍照吗
  3. 万字长文详解大数据应用实战案例-万亿级大数据监控平台建设方案
  4. 让容器应用管理更快更安全,Dragonfly 发布 Nydus 容器镜像加速服务
  5. JSP自定义标签_用简单标签控制标签体执行10次
  6. leetcode409. 最长回文串
  7. 神盾解密工具 之 解密 “ PHP 神盾解密工具 ”
  8. hotmail发送邮件html,HTML电子邮件中的链接在Hotmail中不起作用
  9. java add方法实例_java.util.TreeSet.add()方法实例
  10. 数据库提示日志文件不可用
  11. 【白皮书分享】人工智能治理白皮书.pdf(附下载链接)
  12. 计算机中那些事儿(七):近期拆计算机小感
  13. 这份好用视频拼接的软件干货分享,值得收藏
  14. 服务器提供各种服务 包括文件服务器,服务器提供各种服务,包括文件服务器、邮件服务器、Web服务器等。...
  15. git如何查看缓存区文件内容_[暂存盘已满怎么解决]git暂存区的理解
  16. 服务器flv文件播放不了,解决win2003服务器不能播放flv文件格式的问题
  17. Clustering - Choosing the number of clusters
  18. speedoffice文档中怎么删除页眉页脚
  19. 聊聊Java面向对象(OOP)
  20. mysql日期对应java类型_Mysql与Java日期类型

热门文章

  1. Python程序退出时执行指定代码
  2. props的理解和使用
  3. PC市场逆势复苏之路:创新与多元化引领未来
  4. 希尔薇android+游戏,魔兽玩家盘点希女王的N种结局 千万别进副本
  5. vue---发表评论页面编写
  6. 上海web前端培训选哪家?怎么选?
  7. linux shell 数组 遍历
  8. 鸿蒙王者荣耀想要转区吗,王者荣耀转区功能终于开放,大区互通实现,微信玩家将难以生存?...
  9. 城市大脑是成局还是破局?道翰天琼认知智能机器人平台API接口大脑为您揭秘-1。
  10. Matlab数据库编程指南