据笔者了解,所有的android手机都用电源键来手动锁屏。笔者使用手机时,一天之内手动锁屏的次数绝对不少于30次。如果都用电源键来进行的话,那么电源键的使用寿命一定不会长久。
虽然现在有很多的桌面软件都集成了一键锁屏,但是要安装这些软件就必须安装它们的其他组件,这点让人很不爽,因为他们会定期自动更新,或者在后台运行一些我不想要的东西。所以我决定自己写一个锁屏程序。
经过在android开发文档里面的查找,我发现从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);
        }

至此,锁屏程序的主要部分就讲完了。

转:http://www.2cto.com/kf/201204/129093.html

Android一键锁屏程序实例相关推荐

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

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

  2. 一键锁屏源代码c语言,Android一键锁屏开发全过程【源码】【附图】

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

  3. android 一键锁屏

    为了大家少走弯路,也是为了相互交流,多结识一些朋友!我在这里贴出来:android手机上的一键锁屏程序具体代码及注意的问题, 下面就以我的工程为例进行详细说明: 工程结构 LockScreen.jav ...

  4. Android一键锁屏源码

    APK下载 源程序下载 锁屏流程如下(参考于Android一键锁屏开发全过程[源码][附图]) 源码参考于一键锁屏 源码 一共有2个Java文件: 1 package com.example.onek ...

  5. 简单几步实现Android 一键锁屏,一键卸载程序,一键激活设备管理权限

    2019独角兽企业重金招聘Python工程师标准>>> 以下为官方的文档(本人能力有限,尝试着翻译下,有错请指出) 不想看文档可以直接拉到后面,代码将在后面贴出 Developing ...

  6. Android一键锁屏的例子

    先说点题外话,lenovo的手机质量真不是特叫人放心,不如他家的电脑.媳妇的手机电源键不怎么好用了,好在点亮屏幕可以使用侧边的音量键,但是锁屏就只能按电源键了,经常按了好几次都锁不上.于是,有了下面关 ...

  7. Android一键锁屏功能的实现

    前不久换了部新手机,因为原来用的手机原装了一键锁屏的应用,用的还习惯,新手机上没有,就想着找一个装上,后来在网上搜了下一键锁屏的实现,自己拿来改了改,安装后感觉还可以.现在分享出来. 源码: 1. M ...

  8. android 一键锁屏和清除手机数据

    一键锁屏&清除数据_50 1.引入设备超级管理员(device admin) 2.看文档Develop-->API Guides--->Administration 如果你是一个企 ...

  9. Android 一键锁屏 问题与解决

    想要转Android开发,刚开始研究Android,表示压力山大,主要我已经提出辞职了! 回归主题 Android2.2以后,直接使用DevicePolicyManager.lockNow()进行锁屏 ...

最新文章

  1. OSError: Could not find library geos_c or load any of its variants ['libgeos_c.so.1', 'libgeos_c.so
  2. 计算机笔试图形推理题,【笔记】教资笔试丨4分钟掌握信息处理以及逻辑判断!...
  3. NHibernate教程
  4. OTL调用Oracle存储过程
  5. 数组中的逆序对,为什么要在第一个小于等于的时候计数?
  6. LNMP环境运行laravel open_basedir restriction in effect 问题
  7. 怎么用python实现回归_Python使用sklearn实现的各种回归算法示例
  8. 读取Excel的文本框,除了解析xml还可以用python调用VBA
  9. 英语口语Week16 Thursday
  10. automaticallyAdjustsScrollViewInsets 标签栏不正常显示
  11. 第三章 文本与列表控制
  12. linux下编译fortran非法字符,linux下fortran中編譯代碼時“undefined reference to `_gfortran_st_”錯誤...
  13. Java内存模型与Jvm内存模型
  14. Cookie与Session基本使用
  15. Python3自然语言处理(5)——预处理
  16. 代码动态改变view的大小
  17. CAD组合成块,CAD合并成块,CAD炸开后再合并,CAD中炸开的图块合并在一起
  18. 网站怎么样对接微信公众号,看以下操作
  19. python floor是什么意思_python里floor怎么用
  20. 销售书籍_我们的5合1图书销售又来了!

热门文章

  1. 现代CMake高级教程 - 第 3 章:链接库文件
  2. 产品经理(013)——产品思维练习
  3. 示波器的使用和制作李萨如图形
  4. 非正弦信号发生器的组成和分析方法
  5. 发那科机器人接线电源_【干货】Fanuc机器人电气硬件介绍,很全面!
  6. 874计算机科学基础综合,2018年四川大学874计算机科学专业基础综合之计算机操作系统考研仿真模拟五套题...
  7. 外企面试官最爱提的10个问题(附答案)
  8. CoAtNet: Marrying Convolution and Attention for All Data Sizes
  9. 学通PHP的24堂课(配光盘)(软件开发羊皮卷)
  10. 什么无线桥接一直正在链接服务器失败,tplink无线桥接失败怎么办?