Android一键锁屏开发全过程

一、项目简介:

项目:《Android 一键锁屏》

开发周期:4天

代码量:100行

————————————————————————

二、项目流程:

 

001 三、项目代码
002 1、主程序代码:
003 Java代码 
004 private DevicePolicyManager
policyManager; 
005 private ComponentName
componentName; 
006    
007 @Override 
008 protected void onCreate(Bundle
savedInstanceState) { 
009         super.onCreate(savedInstanceState); 
010         setContentView(R.layout.locklayout); 
011            
012         //获取设备管理服务 
013         policyManager
= (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE); 
014            
015         //AdminReceiver
继承自 DeviceAdminReceiver 
016         componentName
new ComponentName(this,
AdminReceiver.
class); 
017            
018         mylock(); 
019     // 
killMyself ,锁屏之后就立即kill掉我们的Activity,避免资源的浪费;    
020         android.os.Process.killProcess(android.os.Process.myPid());     
021            
022
023   
024 2、其中,mylock()为:
025 Java代码 
026 private void mylock(){ 
027        
028     boolean active
= policyManager.isAdminActive(componentName); 
029     if(!active){//若无权限 
030         activeManage();//去获得权限 
031         policyManager.lockNow();//并锁屏 
032     
033     if (active)
034             policyManager.lockNow();//直接锁屏 
035     
036
037  3、activeManage()代码为:
038 Java代码 
039 private void activeManage()
040         //
启动设备管理(隐式Intent) - 在AndroidManifest.xml中设定相应过滤器 
041         Intent
intent = 
new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN); 
042            
043         //权限列表 
044         intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN,
componentName); 
045    
046         //描述(additional
explanation) 
047                 intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "------
其他描述 ------"
); 
048    
049                 startActivityForResult(intent, 0); 
050
051   
052 4、AndroidManifest.xml
053 Java代码 
054 <?xml
version=
"1.0" encoding="utf-8"?> 
055 <manifest
xmlns:android=
"http://schemas.android.com/apk/res/android" 
056       package="cn.hnu" 
057       android:versionCode="1" 
058       android:versionName="1.0"
059     <application
android:icon=
"@drawable/icon" android:label="@string/app_name"
060         <activity
android:name=
".LockFirst" 
061                   android:label="@string/app_name"
062             <intent-filter> 
063                 <action
android:name=
"android.intent.action.MAIN" /> 
064                 <category
android:name=
"android.intent.category.LAUNCHER" /> 
065             </intent-filter> 
066         </activity> 
067         <!--
设备管理 --> 
068         <receiver
android:name=
".AdminReceiver" 
069                   android:label="@string/app_name" 
070                   android:description="@string/app_name" 
071                   android:permission="android.permission.BIND_DEVICE_ADMIN"
072                 <meta-data
android:name=
"android.app.device_admin" 
073                            android:resource="@xml/lock_screen" /> 
074                    <intent-filter> 
075                         <action 
076                            android:name="android.app.action.DEVICE_ADMIN_ENABLED" /> 
077                    </intent-filter> 
078         </receiver> 
079     </application> 
080        
081    
082 </manifest>  
083  5、其中lock_screen.xml(lock_screen.xml文件放在res/xml文件夹下)代码为:
084 Java代码 
085 <?xml
version=
"1.0" encoding="UTF-8"?>  
086 <device-admin 
087   xmlns:android="http://schemas.android.com/apk/res/android"
088     <uses-policies> 
089         <!--
强行锁定  在里仅这个是需要的--> 
090         <force-lock
/> 
091         <!--
清除所有数据(恢复出厂设置) --> 
092         <wipe-data
/> 
093          <!--
重置密码 --> 
094         <reset-password
/> 
095         <!--
限制密码选择 --> 
096          <limit-password
/> 
097          <!--
监控登录尝试 --> 
098           <watch-login
/> 
099     </uses-policies> 
100 </device-admin>

四、项目预览

    

 请求权限界面

 


 锁屏成功

 

五、附注

   程序运行在android2.2以上平台(含2.2)

时间: 2024-11-01 16:27:43

Android一键锁屏开发全过程的相关文章

Android实战教程第六篇之一键锁屏应用问题解决_Android

上一篇,初步开发了这个应用,功能都有了(见http://www.jb51.net/article/96992.htm 点击打开链接). 但是遗留了两个问题:1.还是无法卸载:2.必须手动去点击应用程序进入程序,再点击按钮,这显得很麻烦. 这一篇就解决上面两个问题,做出最好的效果. 首先解决无法卸载问题: 在清单文件中,再配置一键卸载的主活动(两个主活动无所谓,只不过在桌面上显示两个图标而已,其实仍然是一个应用) <activity android:name="com.itydl.locks

Android实战教程第五篇之一键锁屏应用_Android

Device Administration 对于这个应用,市场上很多,但是看一下评论就知道效果有多差了,因为99%一键锁屏应用没办法卸载.今天就开发一个小应用,实现轻松点击一键锁屏,同时支持卸载... 通查看谷歌原文档,有设备管理器的API,从这里可以抽取一些代码,开发出一个小应用,即即将介绍的<一键锁屏>. 根据文档翻译,获取设备管理器的大致步骤如下: 1.创建类DeviceAdminReceiver的子类 如:com.itydl.lockscreen.DeviceAdminSample 2

Android编程实现的一键锁屏程序详解_Android

本文实例讲述了Android编程实现的一键锁屏程序.分享给大家供大家参考,具体如下: 据笔者了解,所有的Android手机都用电源键来手动锁屏.笔者使用手机时,一天之内手动锁屏的次数绝对不少于30次.如果都用电源键来进行的话,那么电源键的使用寿命一定不会长久. 虽然现在有很多的桌面软件都集成了一键锁屏,但是要安装这些软件就必须安装它们的其他组件,这点让人很不爽,因为他们会定期自动更新,或者在后台运行一些我不想要的东西.所以我决定自己写一个锁屏程序. 经过在android开发文档里面的查找,我发现

Android编程实现一键锁屏的方法_Android

本文实例讲述了Android编程实现一键锁屏的方法.分享给大家供大家参考,具体如下: 这里要用到下面两个类: DeviceAdminReceiver 设备管理组件.这个类提供了一个方便解释由系统发出的意图的动作.你的设备管理应用程序必须包含一个DeviceAdminReceiver的子类.本程序中,就代表一个手机上的设备管理器. DevicePolicyManager 一个管理设备上规范的类. 大多数客户端必须声明一个用户当前已经启用的DeviceAdminReceiver. 这个DeviceP

android开发-android中如何对app图标进行点击事件的监听?也就是一键锁屏的效果

问题描述 android中如何对app图标进行点击事件的监听?也就是一键锁屏的效果 如题,android中如何对app图标进行点击事件的监听,也就是类似一键锁屏的功能,一点图片就可以响应 解决方案 本文演示如何在Android中实现程序前后台切换效果. 在介绍程序实现之前,我们先看下Android中Activities和Task的基础知识. 我们都知道,一个Activity 可以启动另一个Activity即使这个Activity是定义在别一个应用程序里的,比如说,想要给用户展示一个地图的信息,现

Android实战教程第六篇之一键锁屏应用问题解决

上一篇,初步开发了这个应用,功能都有了(见http://www.jb51.net/article/96992.htm 点击打开链接). 但是遗留了两个问题:1.还是无法卸载:2.必须手动去点击应用程序进入程序,再点击按钮,这显得很麻烦. 这一篇就解决上面两个问题,做出最好的效果. 首先解决无法卸载问题: 在清单文件中,再配置一键卸载的主活动(两个主活动无所谓,只不过在桌面上显示两个图标而已,其实仍然是一个应用) <activity android:name="com.itydl.locks

Android编程实现的一键锁屏程序详解

本文实例讲述了Android编程实现的一键锁屏程序.分享给大家供大家参考,具体如下: 据笔者了解,所有的Android手机都用电源键来手动锁屏.笔者使用手机时,一天之内手动锁屏的次数绝对不少于30次.如果都用电源键来进行的话,那么电源键的使用寿命一定不会长久. 虽然现在有很多的桌面软件都集成了一键锁屏,但是要安装这些软件就必须安装它们的其他组件,这点让人很不爽,因为他们会定期自动更新,或者在后台运行一些我不想要的东西.所以我决定自己写一个锁屏程序. 经过在android开发文档里面的查找,我发现

Android编程实现一键锁屏的方法

本文实例讲述了Android编程实现一键锁屏的方法.分享给大家供大家参考,具体如下: 这里要用到下面两个类: DeviceAdminReceiver 设备管理组件.这个类提供了一个方便解释由系统发出的意图的动作.你的设备管理应用程序必须包含一个DeviceAdminReceiver的子类.本程序中,就代表一个手机上的设备管理器. DevicePolicyManager 一个管理设备上规范的类. 大多数客户端必须声明一个用户当前已经启用的DeviceAdminReceiver. 这个DeviceP

Android Device Administration 设备管理器——实现一键锁屏

Android Device Administration 设备管理器--实现一键锁屏 最近研究了一下安全这一块的内容,当然,我是比较水的,所以也拿不出什么好知识点,但是有一些冷门的东西我还是可以聊聊的,就拿这个锁屏来说吧,我们现在市面上有一些一键锁屏的软件 我们可以看到,是数不胜数的,所以,其实他一开始使用的时候,都需要请求设备管理器 我们可以看到,只有当我们激活的时候,我们才可以使用它,那么,他到底是什么东西呢?其实,当我们激活之后,我们可以在我们手机的设置--安全--设备管理器里面看到他的