Android一键锁屏开发全过程
2013-07-29 15:32
274 查看
一、项目简介:
项目:《Android 一键锁屏》
开发周期:4天
代码量:100行
二、项目流程:
三、项目代码
1、主程序代码:
1.private DevicePolicyManager policyManager;
2.private ComponentName componentName;
3.
4.@Override
5.protected void onCreate(Bundle savedInstanceState) {
6. super.onCreate(savedInstanceState);
7. setContentView(R.layout.locklayout);
8.
9. //获取设备管理服务
10. policyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
11.
12. //AdminReceiver 继承自 DeviceAdminReceiver
13. componentName = new ComponentName(this, AdminReceiver.class);
14.
15. mylock();
16. // killMyself ,锁屏之后就立即kill掉我们的Activity,避免资源的浪费;
17. android.os.Process.killProcess(android.os.Process.myPid());
18.
19.}
2、其中,mylock()为:
1.private void mylock(){
2.
3. boolean active = policyManager.isAdminActive(componentName);
4. if(!active){//若无权限
5. activeManage();//去获得权限
6. policyManager.lockNow();//并锁屏
7. }
8. if (active) {
9. policyManager.lockNow();//直接锁屏
10. }
11.}
3、activeManage()代码为:
1.private void activeManage() {
2. // 启动设备管理(隐式Intent) - 在AndroidManifest.xml中设定相应过滤器
3. Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
4.
5. //权限列表
6. intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName);
7.
8. //描述(additional explanation)
9. intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "------ 其他描述 ------");
10.
11. startActivityForResult(intent, 0);
12.}
4、AndroidManifest.xml
1.<?xml version="1.0" encoding="utf-8"?>
2.<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3. package="cn.hnu"
4. android:versionCode="1"
5. android:versionName="1.0">
6. <application android:icon="@drawable/icon" android:label="@string/app_name">
7. <activity android:name=".LockFirst"
8. android:label="@string/app_name">
9. <intent-filter>
10. <action android:name="android.intent.action.MAIN" />
11. <category android:name="android.intent.category.LAUNCHER" />
12. </intent-filter>
13. </activity>
14. <!-- 设备管理 -->
15. <receiver android:name=".AdminReceiver"
16. android:label="@string/app_name"
17. android:description="@string/app_name"
18. android:permission="android.permission.BIND_DEVICE_ADMIN">
19. <meta-data android:name="android.app.device_admin"
20. android:resource="@xml/lock_screen" />
21. <intent-filter>
22. <action
23. android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
24. </intent-filter>
25. </receiver>
26. </application>
27.
28.
29.</manifest>
5、其中lock_screen.xml(lock_screen.xml文件放在res/xml文件夹下)代码为:
1.<?xml version="1.0" encoding="UTF-8"?>
2.<device-admin
3. xmlns:android="http://schemas.android.com/apk/res/android">
4. <uses-policies>
5. <!-- 强行锁定 在里仅这个是需要的-->
6. <force-lock />
7. <!-- 清除所有数据(恢复出厂设置) -->
8. <wipe-data />
9. <!-- 重置密码 -->
10. <reset-password />
11. <!-- 限制密码选择 -->
12. <limit-password />
13. <!-- 监控登录尝试 -->
14. <watch-login />
15. </uses-policies>
16.</device-admin>
四、项目预览
请求权限界面
锁屏成功
五、附注
程序运行在Android2.2以上平台(含2.2)
上一页
1
2
本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2012-01/52443p2.htm
本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2012-01/52443.htm
项目:《Android 一键锁屏》
开发周期:4天
代码量:100行
二、项目流程:
三、项目代码
1、主程序代码:
1.private DevicePolicyManager policyManager;
2.private ComponentName componentName;
3.
4.@Override
5.protected void onCreate(Bundle savedInstanceState) {
6. super.onCreate(savedInstanceState);
7. setContentView(R.layout.locklayout);
8.
9. //获取设备管理服务
10. policyManager = (DevicePolicyManager) getSystemService(Context.DEVICE_POLICY_SERVICE);
11.
12. //AdminReceiver 继承自 DeviceAdminReceiver
13. componentName = new ComponentName(this, AdminReceiver.class);
14.
15. mylock();
16. // killMyself ,锁屏之后就立即kill掉我们的Activity,避免资源的浪费;
17. android.os.Process.killProcess(android.os.Process.myPid());
18.
19.}
2、其中,mylock()为:
1.private void mylock(){
2.
3. boolean active = policyManager.isAdminActive(componentName);
4. if(!active){//若无权限
5. activeManage();//去获得权限
6. policyManager.lockNow();//并锁屏
7. }
8. if (active) {
9. policyManager.lockNow();//直接锁屏
10. }
11.}
3、activeManage()代码为:
1.private void activeManage() {
2. // 启动设备管理(隐式Intent) - 在AndroidManifest.xml中设定相应过滤器
3. Intent intent = new Intent(DevicePolicyManager.ACTION_ADD_DEVICE_ADMIN);
4.
5. //权限列表
6. intent.putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, componentName);
7.
8. //描述(additional explanation)
9. intent.putExtra(DevicePolicyManager.EXTRA_ADD_EXPLANATION, "------ 其他描述 ------");
10.
11. startActivityForResult(intent, 0);
12.}
4、AndroidManifest.xml
1.<?xml version="1.0" encoding="utf-8"?>
2.<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3. package="cn.hnu"
4. android:versionCode="1"
5. android:versionName="1.0">
6. <application android:icon="@drawable/icon" android:label="@string/app_name">
7. <activity android:name=".LockFirst"
8. android:label="@string/app_name">
9. <intent-filter>
10. <action android:name="android.intent.action.MAIN" />
11. <category android:name="android.intent.category.LAUNCHER" />
12. </intent-filter>
13. </activity>
14. <!-- 设备管理 -->
15. <receiver android:name=".AdminReceiver"
16. android:label="@string/app_name"
17. android:description="@string/app_name"
18. android:permission="android.permission.BIND_DEVICE_ADMIN">
19. <meta-data android:name="android.app.device_admin"
20. android:resource="@xml/lock_screen" />
21. <intent-filter>
22. <action
23. android:name="android.app.action.DEVICE_ADMIN_ENABLED" />
24. </intent-filter>
25. </receiver>
26. </application>
27.
28.
29.</manifest>
5、其中lock_screen.xml(lock_screen.xml文件放在res/xml文件夹下)代码为:
1.<?xml version="1.0" encoding="UTF-8"?>
2.<device-admin
3. xmlns:android="http://schemas.android.com/apk/res/android">
4. <uses-policies>
5. <!-- 强行锁定 在里仅这个是需要的-->
6. <force-lock />
7. <!-- 清除所有数据(恢复出厂设置) -->
8. <wipe-data />
9. <!-- 重置密码 -->
10. <reset-password />
11. <!-- 限制密码选择 -->
12. <limit-password />
13. <!-- 监控登录尝试 -->
14. <watch-login />
15. </uses-policies>
16.</device-admin>
四、项目预览
请求权限界面
锁屏成功
五、附注
程序运行在Android2.2以上平台(含2.2)
上一页
1
2
本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2012-01/52443p2.htm
本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2012-01/52443.htm
相关文章推荐
- Android一键锁屏开发全过程
- Android一键锁屏开发全过程【源码+附图】
- Android一键锁屏开发全过程…
- 【拯救电源键】最详尽的android开发一键锁屏实例 提供免费源码+apk
- 【Android开发小记--10】一键锁屏功能实现
- android 一键锁屏 开发
- android开发 华为手机锁屏存活,开机自启动,一键不清理,手动杀死自动起来
- Android开发过程中创建一个Message对象使用方法区别
- android开发之快速设置,一键wifi开闭,移动网络开闭,电池设置,飞行模式,………………………………
- Android激活设备管理器--一键锁屏
- android 应用开发揭秘,ndk使用过程总结
- android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录
- Android 开发过程中遇到了一个问题 小记录一下 ERROR: In <declare-styleable> BorderLinearLayout, unable to find attribu
- Android开发过程解决软键盘遮住EditText的问题
- android开发过程中遇到的坑
- 在使用eclipse开发android过程中,注释的使用细节
- android下NDK开发环境搭建及TestJNI入门实例完整过程
- Android开发之一键清空内容的输入框
- android 实用闹钟开发过程记(二)--sqlite数据库的操作
- Android开发过程中的问题及总结