从android 2.2开始,API里面就包含了一个lockNow方法(android.app.admin.DevicePolicyManager包中),锁屏程序可以通过这个方法实现。
在正式写代码之前,我们有两个需要了解的类:
1、 DevicePolicyManager
顾名思义,这个类的作用是管理设备。通过这个类,我们可以实现屏幕锁定、亮度调节甚至是恢复出厂设置等功能。
2、 DeviceAdminReceiver
这个类的父类是BroadcastReceiver,通过其OnReceive方法可以根据不同的Action执行不同的动作。
这个程序的开发过程大致如下:
1、 要想使用DevicePolicyManager中的方法,首先要定义一个Component。然后通过管理这个组件来启动一个DeviceAdminReceiver。
注册一个广播,用于监听权限的变化,代码在AndroidMenifest.xml文件中:
<receiver android:name=".LockScreenAdmin" android:label="@string/app_name"
android:description="@string/app_name" android:permission="android.permission.BIND_DEVICE_ADMIN">
<meta-data android:name="android.app.device_admin"
android:resource="@xml/lock_screen_admin" />
<intent-filter>
<action android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
</intent-filter>
</receiver>
其中,permission表示此功能所需的权限;android:name="android.app.device_admin"表示这个动作的跳转界面;而android:resource="@xml/lock_screen_admin"所指向的内容如下:
<device-admin
xmlns:android="http://schemas.android.com/apk/res/android">
<uses-policies>
<force-lock />
</uses-policies>
</device-admin>
1、 实现一个继承自DeviceAdminReceiver的类,实现必须的方法。这个类基本不用写代码,在此略过不表。
2、 以下是关键代码。
这段代码用来在第一次运行的时候激活component,只要激活一次之后,这个component就会一直是激活的。使用startActivityForResult()可以在onResult方法中调用lockNow()来锁屏,当不是第一次运行的时候,直接调用lockNow()锁屏。
if (mDevicepolicymanager.isAdminActive(mComponentname)) {
mDevicepolicymanager.lockNow();
finish();
} else {// 第一次运行程序
Intent intent = new Intent(
DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,
mComponentname);
intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION,
"One key lock screen need to active");
startActivityForResult(intent, RESULT_ENABLE);
}
至此,锁屏程序的主要部分就讲完了。
分享到:
相关推荐
拯救电源键】最详尽的android开发一键锁屏实例 源码.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
该项目以一款锁屏软件的开源代码 可以帮你学习有关权限 锁屏的知识
主要介绍了js实现简单锁屏功能的方法,实例分析了javascript操作页面元素显示与隐藏的相关技巧,涉及javascript操作元素属性与鼠标、键盘事件的相关技巧,需要的朋友可以参考下
android一键锁屏源代码,android4.2工作正常.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
百度壁纸主框架.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
安卓锁屏和恢复出厂设置功能.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Android锁屏与解屏相关代码分析
android激活系统设备管理器之一键锁屏.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
G-Lock华丽锁屏是一款专业的桌面锁定产品,为用户提供屏幕锁定功能,支持密码锁定、直接锁定,高级设置等众多个性化定制功能,体积小巧,操作简便,让您的锁屏界面天天都有好心情。需要的朋友们可以前来下载使用。 ...
九宫格滑动解锁例子.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
前面AndroidQ SystemUI之启动 中分析了SystemUI启动过程中会加载一个config数组,里面定义了SystemUI的重要的类,之后遍历此数组,以此调用其Start方法,我们就从StatusBar.start方法开始分析锁屏相关的流程 ...
一套完整的屏幕锁屏代码,可用于项目的安全模块和远程控制.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Delphi开发的简单电脑锁屏程序实现锁定屏幕。 详细介绍: 点Image控件可以实现一分钟后关机,点击Label控件可以取消关机。 按键盘F键可以弹出Edit控件,密码是candan Button控件已经添加了键盘回车键支持。可自己...
滑动关闭_打开, 解锁。打电话解锁.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
android定时更换SD卡中图片为壁纸.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
Android锁屏 屏幕保护模块实例,如何实现锁屏功能呢?请参见本源码。具体功能:具备锁屏、屏蔽home、屏蔽返回、屏蔽挂机键等功能。
明振锁屏软件是一款专业的电脑锁屏工具,相比于其他锁屏软件,其功能更强大,性能耿突出,操作也方便,还有专业的客服人员,欢迎您使用下载。 明振锁屏软件功能 可以强制锁屏,和谐CTRL ALT DEL,和谐WINDOWS键 ,...
招财进宝手势解锁.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
智能UI锁屏.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
android 滑动解锁实现源代码.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。