`

android一键锁屏代码

 
阅读更多
要用到下面两个类:

DeviceAdminReceiver 设备管理组件。这个类提供了一个方便解释由系统发出的意图的动作。你的设备管理应用程序必须包含一个DeviceAdminReceiver的子类。本程序中,就代表一个手机上的设备管理器.
DevicePolicyManager 一个管理设备上规范的类。 大多数客户端必须声明一个用户当前已经启用的DeviceAdminReceiver。 这个DevicePolicyManager为一个或者多个DeviceAdminReceiver实例管理这些规范。


DevicePolicyManager 的实例有个方法叫lockNow可以直接锁定屏幕.但是在这之前,需要激活程序中的设备管理器.
下面是主类LockActivity

package com.iceman.test;    import android.app.Activity; import android.app.admin.DevicePolicyManager; import android.content.ComponentName; import android.content.Context; import android.content.Intent; import android.os.Bundle;    public class LockActivity extends Activity {        private DevicePolicyManager policyManager;        private ComponentName componentName;        @Override     public void onCreate(Bundle savedInstanceState) {            super.onCreate(savedInstanceState);            setContentView(R.layout.locklayout);         policyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);         componentName = new ComponentName(this, AdminReceiver.class);         if (policyManager.isAdminActive(componentName)) {//判断是否有权限(激活了设备管理器)             policyManager.lockNow();// 直接锁屏             android.os.Process.killProcess(android.os.Process.myPid());         }else{             activeManager();//激活设备管理器获取权限         }        }           @Override     protected void onResume() {//重写此方法用来在第一次激活设备管理器之后锁定屏幕         if (policyManager.isAdminActive(componentName)) {             policyManager.lockNow();             android.os.Process.killProcess(android.os.Process.myPid());         }         super.onResume();     }        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);     }    } 


下面是设备管理器类LockReceiver,这是一个继承自DeviceAdminReceiver的类,可以接收到激活/接触激活的广播,进行下一步操作,本程序中,只是简单打印一下信息.

package com.iceman.test;    import android.app.admin.DeviceAdminReceiver; import android.content.Context; import android.content.Intent;    public class LockReceiver extends DeviceAdminReceiver{           @Override     public void onReceive(Context context, Intent intent) {         super.onReceive(context, intent);         System.out.println("onreceiver");     }        @Override     public void onEnabled(Context context, Intent intent) {         System.out.println("激活使用");         super.onEnabled(context, intent);     }        @Override     public void onDisabled(Context context, Intent intent) {         System.out.println("取消激活");         super.onDisabled(context, intent);     }       } 


配置文件:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android"     package="com.iceman.test"     android:versionCode="1"     android:versionName="1.0" >        <uses-sdk android:minSdkVersion="9" />        <application         android:icon="@drawable/ic_launcher"         android:label="@string/app_name" >         <activity             android:name=".LockActivity"             android:label="@string/app_name"             android:theme="@android:style/Theme.Translucent" >             <intent-filter>                 <action android:name="android.intent.action.MAIN" />                    <category android:name="android.intent.category.LAUNCHER" />             </intent-filter>         </activity>            <receiver             android:name=".LockReceiver"             android:description="@string/app_name"             android:label="@string/app_name"             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>     </application>    </manifest> 


其中lock_screen是设备管理器的权限声明,需要在res/xml目录下以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> 
分享到:
评论

相关推荐

    Android 一键锁屏代码

    以下是一些关于Android一键锁屏代码的关键知识点: 1. **BroadcastReceiver**: 在Android系统中,实现一键锁屏通常需要创建一个`BroadcastReceiver`,监听电源键或者其他自定义按键事件。当接收到特定事件时,...

    Android 一键锁屏Demo

    在Android平台上,开发一款“一键锁屏”应用是一项常见的任务,尤其对于那些希望自定义手机体验的用户来说。本项目“Android 一键锁屏Demo”是基于Android Studio开发的一个示例,它展示了如何实现快速、便捷地锁定...

    android一键锁屏源码

    在Android平台上,开发一款“一键锁屏”应用可以极大地提高用户操作手机的便捷性。本文将深入探讨“一键锁屏源码”的实现原理、关键组件和功能,以及如何将其上线到应用市场。 首先,让我们理解“一键锁屏”的基本...

    android 一键锁屏 OneKeyLock 源码

    【Android 一键锁屏 OneKeyLock 源码解析】 在Android系统中,开发者可以通过编程方式实现各种定制化的功能,其中一键锁屏就是一个常见的需求。OneKeyLock项目就是这样一个实现,它提供了一种简单快捷的方式来锁定...

    android 一键锁屏例程

    在Android系统中,实现一键锁屏功能涉及到对系统服务、权限管理和广播接收器的理解与应用。...在压缩包中的“一键锁屏”文件可能包含了实现这一功能的具体代码示例,你可以根据这些代码进一步学习和理解。

    android一键锁屏源代码-bird

    "android一键锁屏源代码-bird"项目就是这样一个实现,据描述它在Android 4.2系统上运行良好。这个项目的重点在于理解和解析源代码,从中我们可以学习到Android系统的权限管理、广播接收器、服务以及UI设计等多个方面...

    android一键锁屏实现原理

    以上就是关于“android一键锁屏实现原理”的详细解释,通过理解设备管理器的机制和权限控制,开发者可以为用户提供便捷的设备管理功能。在实际项目中,可以根据需求扩展和优化这个过程,例如添加动画效果、自定义...

    安卓锁屏九宫格锁屏解锁壁纸相关-android一键锁屏源代码android4.2工作正常.zip

    【标题】"安卓锁屏九宫格锁屏解锁壁纸相关-android一键锁屏源代码android4.2工作正常.zip" 涉及的核心知识点是Android系统的锁屏机制,特别是九宫格锁屏和壁纸的实现。九宫格锁屏是Android系统中一种常见的用户安全...

    android一键锁屏源代码,android4.2工作正常

    这个"android一键锁屏源代码"是一个实用的示例,适用于Android 4.2系统,并且能正常运行。下面我们将深入探讨这个源代码的相关知识点,以及如何理解和实现这样的功能。 首先,我们需要理解Android系统的权限管理。...

    Android一键锁屏功能的实现源码(含apk)

    这个“Android一键锁屏功能的实现源码(含apk)”提供了一个完整的解决方案,允许开发者研究和学习如何创建这样的功能,同时也提供了可以直接安装在手机上的apk文件,让用户可以直接体验一键锁屏的便捷。 首先,...

    android一键锁屏源代码,android4.2工作正常.rar

    本项目名为“android一键锁屏源代码,android4.2工作正常”,意味着它适用于Android 4.2(果冻豆)版本,这是一款较旧但仍然广泛使用的Android系统版本。以下将详细介绍该源代码中的关键知识点。 1. **...

    Android开发一键锁屏

    在Android开发中,实现一键锁屏功能是一项常见的需求,它能帮助用户快速便捷地锁定设备屏幕,保护隐私并节省电池。下面将详细讲解如何在Android应用中实现这一功能。 首先,我们需要了解Android权限管理。在...

    Android代码-android一键锁屏源代码android4.2工作正常.zip

    这个名为"Android代码-android一键锁屏源代码android4.2工作正常.zip"的压缩包文件提供了在Android 4.2版本上运行良好的一键锁屏应用的源代码。下面我们将详细探讨这个应用可能涉及的关键技术点和实现原理。 1. **...

    android一键锁屏源代码,android4.2工作正常.zip项目安卓应用源码下载

    android一键锁屏源代码,android4.2工作正常.zip项目安卓应用源码下载android一键锁屏源代码,android4.2工作正常.zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目...

    无广告版android Desk一键锁屏

    在Android操作系统中,"无广告版android Desk一键锁屏"是一个专门为用户打造的高效、便捷且无干扰的锁屏应用。这款应用的核心功能是提供一键快速锁屏的能力,同时解决了传统锁屏应用在锁屏后屏幕无法自动熄灭的问题...

    Android一键锁屏源码

    本文将深入解析“Android一键锁屏源码”的核心概念、实现机制以及相关的编程技术。 首先,我们要理解Android系统的锁屏机制。在Android中,锁屏主要涉及电源管理和服务的概念。电源管理是系统控制屏幕亮度和设备...

    android 源代码 一键锁屏 特别适合初学者学习

    通过学习这个“一键锁屏”的源代码,初学者可以深入理解Android应用开发的基本流程,包括UI设计、事件处理、系统广播、权限控制等方面,为后续的Android开发打下坚实基础。同时,这也是一种实践动手能力的锻炼,有助...

    Android应用源码之android一键锁屏源代码,android4.2工作正常.zip

    这个压缩包"Android应用源码之android一键锁屏源代码,android4.2工作正常.zip"提供了实现这一功能的源代码,适用于Android 4.2系统。下面将详细探讨相关知识点: 1. **Android权限管理**: 在Android系统中,应用...

Global site tag (gtag.js) - Google Analytics