从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);
}
至此,锁屏程序的主要部分就讲完了。
分享到:
相关推荐
在这个回调中,我们可以初始化与锁屏相关的各种组件和功能。 锁屏的灭屏上锁逻辑通常发生在设备屏幕关闭时。`PhoneWindowManager`会监控设备的状态,并在屏幕关闭时触发锁屏的上锁过程。这个过程可能涉及到对用户...
在给定的“framework”文件中,可能包含了锁屏相关的API和类库,开发者可以通过这些接口实现自定义锁屏应用或修改系统行为。 6. **API接口**:开发者可以利用Android提供的锁屏API扩展或替换默认的锁屏功能,例如...
在AndroidManifest.xml文件中,添加锁屏相关的权限,即`android.permission.PROCESS_OUTGOING_CALLS`,这虽然不是直接用于锁屏,但在某些设备上可能需要这个权限来触发锁屏动作。另外,还需要`android.permission....
1. KeyguardManager:这是一个系统服务,提供与设备锁屏相关的功能。例如,`KeyguardManager.createConfirmDeviceCredentialIntent()` 可用于创建一个对话框,让用户确认设备凭据(如密码或PIN)。 2. KeyguardLock...
标题中的“防锁屏工具 防止自动锁屏”是指一种软件应用,它的主要...同时,需要注意的是,虽然这样的工具可以提高工作效率,但在某些场合下可能违反公司的安全政策,因此在使用前应确保了解并遵守所在组织的相关规定。
在Android源码中,锁屏相关的代码主要位于frameworks/base/services/core/java/com/android/server/KeyguardServiceDelegate.java和packages/apps/LockSettingsService/目录下。 二、锁屏源码结构分析 1. ...
它是连接`PhoneWindowManager`和其他锁屏相关组件的关键桥梁。 3. **`KeyguardViewManager`**:用于管理锁屏界面的实际显示逻辑。它通过实现`KeyguardViewCallback`接口与`KeyguardViewMediator`进行通信。 4. **`...
- **WindowManagerPolicy**:`PhoneWindowManager`实现的接口,它定义了与锁屏相关的策略和行为。 `KeyguardViewMediator`不仅负责处理锁屏状态的变化,还通过`WindowManagerPolicy`接口与`PhoneWindowManager`协同...
这个"安卓锁屏九宫格锁屏解锁壁纸相关-拯救电源键最详尽的android开发一键锁屏实例源码"的资源包,提供了一个具体的案例,帮助开发者了解如何创建一个类似九宫格的锁屏应用,同时也考虑到了减少电源键的使用,通过...
Android系统提供了锁屏相关的API,允许开发者构建自己的锁屏界面。这些API通常包含在`com.android.systemui`和`com.android.server.lockscreen`等包中,如`KeyguardViewManager`和`KeyguardService`。开发者需要...
【安卓锁屏九宫格锁屏解锁壁纸相关】 在安卓操作系统中,锁屏界面是用户与设备交互的第一道防线,它的设计和功能直接影响到用户体验。九宫格锁屏是一种流行且安全的解锁方式,它结合了美观和实用性,让用户在享受...
【标签】"锁屏九宫格锁屏解锁壁纸" 强调了这个项目与锁屏界面的定制和交互有关。九宫格锁屏是一种用户交互设计,通常通过XML布局文件定义九个可滑动的区域,并结合触摸事件处理滑动逻辑。解锁壁纸则涉及到对系统壁纸...
"安卓锁屏九宫格锁屏解锁壁纸相关"这一标题明确指出,这是一个与Android操作系统中九宫格锁屏相关的项目。九宫格锁屏是一种流行的安全机制,用户通过在9个点之间绘制预设图案来解锁设备。这种锁屏方式既提供了便利性...
下面我们将深入探讨这款锁屏应用的相关知识点。 首先,我们要理解“九宫格锁屏”。传统的九宫格锁屏是安卓系统中常见的解锁方式之一,用户需要按照预设的顺序滑动九个方格来解锁手机。这种方式既安全又具有一定的...
2. **user32.dll**:这是Windows系统中一个非常重要的DLL库,包含了大量与用户界面相关的API函数,包括窗口管理、鼠标键盘输入处理等。LockWorkStation正是其中的一个函数,用于锁定当前的用户会话。 3. **...
【万象锁屏】是一种个性化和定制化的屏幕保护程序或锁屏应用,它允许用户自定义锁屏界面,以展示各种视觉效果和个性化设置。在2010年,"2010虎年万象锁屏画面"是一款为庆祝中国农历虎年而特别设计的锁屏主题,具有...
5. **通知与提醒**:在用户锁定屏幕期间,锁屏工具可以显示系统通知或提醒,例如未读邮件、新消息等,让用户在解锁后能快速了解相关信息。 6. **兼容性**:优秀的锁屏软件应具备良好的系统兼容性,能适应各种操作...
实现C#锁屏功能的关键在于调用Windows API中的相关函数,如`LockWorkStation()`,该函数可以立即锁定工作站,使用户必须重新输入密码才能访问。此外,可能还需要处理一些安全性问题,如防止恶意软件利用锁屏功能。在...
标题中的“vc网吧锁屏_和万象网管软件效果一样.rar”表明这是一个使用Visual C++编写的用于网吧管理的锁屏程序,旨在实现与“万象网管软件”类似的功能。万象网管软件是一款广泛应用于网吧的管理系统,它包含了诸如...
本压缩包文件"安卓锁屏九宫格锁屏解锁壁纸相关-android激活系统设备管理器之一键锁屏.rar"似乎包含了与实现这一功能相关的代码和资源。 首先,我们需要理解设备管理器(Device Administration API)在安卓系统中的...