Android实现自定义锁屏控制
来源:互联网 发布:每周日程安排软件 编辑:程序博客网 时间:2024/05/22 06:55
当在Android手机上需要实现自定义的锁屏, 往往在进入自定义的锁屏界面界面之前需要先解开屏幕锁, 以顺利的进入自定义锁屏界面 ,并能方便用户即时的做其他操作,下面用代码来实现这一功能:
1、点亮屏幕与解系统锁
[java] view plaincopyprint?
//light the screen
PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
WakeLock mWakelock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP
| PowerManager.SCREEN_DIM_WAKE_LOCK, "SimpleTimer");
mWakelock.acquire();
mWakelock.release();
//unlock the screen
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(KEYGUARD_SERVICE);
KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("");
keyguardLock.disableKeyguard();
//light the screen
PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
WakeLock mWakelock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP
| PowerManager.SCREEN_DIM_WAKE_LOCK, "SimpleTimer");
mWakelock.acquire();
mWakelock.release();
//www.sctarena.ocm
//unlock the screen
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(KEYGUARD_SERVICE);
KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("");
keyguardLock.disableKeyguard();
2、添加权限
上述代码要实现 自动屏幕解锁功能,还需要 在主配置文件AndroidManifest.xml中添加权限:
[html] view plaincopyprint?
< uses-permission android:name="android.permission.WAKE_LOCK" />
< uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
< uses-permission android:name="android.permission.WAKE_LOCK" />
< uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
3、具体实现自定义锁屏控制系统的大致思想
(1)在主界面中设计一个锁屏控制按钮,决定是否进入 自定义的 锁屏 控制界面;
(2) 需要设计一个Service,在启动时即在 onCreate方法中注册监听系统屏幕锁屏的广播行为ACTION_SCREEN_OFF: "android.intent.action.SCREEN_OFF";
(3)在上述serice中定义一个广播接收器:如果监听到 ACTION_SCREEN_OFF,则进入到自定义的锁屏控制界面即启动自定义实现的Activity;
4、难点实现
(1)ACTION_SCREEN_OFF该消息需要动态注册,不能在XML文件中全局注册
(2)收到screen_off消息后,如何让自己定义的锁屏界面在系统锁屏界面之上
(3)点亮屏幕时,如何防止启动自定义锁屏界面时出现的闪屏现象
(4)在某些机型某些时候需要点亮两次屏幕
(5)解自定义锁屏时需要先解系统锁
(6)如何做到在解系统锁时在多机型多Rom下的兼容
(7)如何做到在解系统锁后不对耳机线控等行为或者其他相关行为产生影响
(8)如何在解系统锁后,要及时的能恢复系统锁
(9)有其他第三方锁屏系统存在时,如何保证自己的锁屏在其他所有锁屏之上。
(10)如何在锁屏界面屏蔽相关按键,特别是屏蔽Home键,特别是4.0系统之上
5、小结
简单的实现自定义锁屏,我想大部分人在很短的时间内都能实现,关键是要整合到第三应用中要保证其能和大多数机型和Rom能兼容,也就是要解决上面写到的难点问题。关于锁屏的这个项目,我已经完全实现,如果有什么疑问,可以咨询我,欢迎大家提出自己的意见和建议。
1、点亮屏幕与解系统锁
[java] view plaincopyprint?
//light the screen
PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
WakeLock mWakelock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP
| PowerManager.SCREEN_DIM_WAKE_LOCK, "SimpleTimer");
mWakelock.acquire();
mWakelock.release();
//unlock the screen
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(KEYGUARD_SERVICE);
KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("");
keyguardLock.disableKeyguard();
//light the screen
PowerManager pm = (PowerManager)getSystemService(POWER_SERVICE);
WakeLock mWakelock = pm.newWakeLock(PowerManager.ACQUIRE_CAUSES_WAKEUP
| PowerManager.SCREEN_DIM_WAKE_LOCK, "SimpleTimer");
mWakelock.acquire();
mWakelock.release();
//www.sctarena.ocm
//unlock the screen
KeyguardManager keyguardManager = (KeyguardManager)getSystemService(KEYGUARD_SERVICE);
KeyguardLock keyguardLock = keyguardManager.newKeyguardLock("");
keyguardLock.disableKeyguard();
2、添加权限
上述代码要实现 自动屏幕解锁功能,还需要 在主配置文件AndroidManifest.xml中添加权限:
[html] view plaincopyprint?
< uses-permission android:name="android.permission.WAKE_LOCK" />
< uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
< uses-permission android:name="android.permission.WAKE_LOCK" />
< uses-permission android:name="android.permission.DISABLE_KEYGUARD" />
3、具体实现自定义锁屏控制系统的大致思想
(1)在主界面中设计一个锁屏控制按钮,决定是否进入 自定义的 锁屏 控制界面;
(2) 需要设计一个Service,在启动时即在 onCreate方法中注册监听系统屏幕锁屏的广播行为ACTION_SCREEN_OFF: "android.intent.action.SCREEN_OFF";
(3)在上述serice中定义一个广播接收器:如果监听到 ACTION_SCREEN_OFF,则进入到自定义的锁屏控制界面即启动自定义实现的Activity;
4、难点实现
(1)ACTION_SCREEN_OFF该消息需要动态注册,不能在XML文件中全局注册
(2)收到screen_off消息后,如何让自己定义的锁屏界面在系统锁屏界面之上
(3)点亮屏幕时,如何防止启动自定义锁屏界面时出现的闪屏现象
(4)在某些机型某些时候需要点亮两次屏幕
(5)解自定义锁屏时需要先解系统锁
(6)如何做到在解系统锁时在多机型多Rom下的兼容
(7)如何做到在解系统锁后不对耳机线控等行为或者其他相关行为产生影响
(8)如何在解系统锁后,要及时的能恢复系统锁
(9)有其他第三方锁屏系统存在时,如何保证自己的锁屏在其他所有锁屏之上。
(10)如何在锁屏界面屏蔽相关按键,特别是屏蔽Home键,特别是4.0系统之上
5、小结
简单的实现自定义锁屏,我想大部分人在很短的时间内都能实现,关键是要整合到第三应用中要保证其能和大多数机型和Rom能兼容,也就是要解决上面写到的难点问题。关于锁屏的这个项目,我已经完全实现,如果有什么疑问,可以咨询我,欢迎大家提出自己的意见和建议。
android培训,就选成都达内,最好的成都软件培训机构,如果你有“达内培训需要多少钱”、“达内培训怎么样”等问题,详情请咨询达内客服(http://www.sctarena.com),我们会给你详细的讲解。
- Android实现自定义锁屏控制
- Android实现自定义锁屏控制
- Android实现自定义锁屏控制
- Android自定义摇杆实现蓝牙控制小车
- Android中动画实现单击按钮控制开屏关屏效果(系统animation实现、scrollTo实现、自定义scrollTo实现)
- Android 自定义 HorizontalScrollView 实现图片左右滚动按钮控制
- Android自定义Dialog控制
- Android自定义锁屏的实现
- Android 自定义锁屏的实现
- Android自定义锁屏的实现
- Android自定义锁屏的实现
- django实现自定义权限控制
- Android自定义Dialog大小控制
- Android自定义音量控制图标
- android自定义Dialog大小控制
- Android锁屏控制
- Android实现手势控制
- Android UI设计之<十二>自定义View,实现绚丽的字体大小控制控件FontSliderBar
- Linux多任务编程(三)---exec函数族及其基础实验
- 大神为何裸死塔下?数百头小兵为何超神?
- 【win7操作系统怎么删除组件】
- ssh无需密码登陆配置
- 安卓页面技巧片段 - 4
- Android实现自定义锁屏控制
- linux下的GPIO驱动
- SQL EXEC用法总结
- SPOJ 416. Divisibility by 15
- Android 如何从系统图库中选择图片
- StrictMode 使用
- AdvancedDataGrid每列添加复选框和图标以及全选功能
- 如何写一个递归程序
- ORACLE Dataguard安装