`
yanmin6767
  • 浏览: 32467 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

LockScreen

 
阅读更多

1.       创建Service,注册Broadcast Receiver 监听Intent.ACTION_SCREEN_OFF Intent.ACTION_SCREEN_ON消息。

当按Power键时,系统会像向外广播消息Intent.ACTION_SCREEN_OFF 同样当在锁屏的情况下按Power键会向外广播Intent.ACTION_SCREEN_ON消息。我们要做的就是当监听到

Intent.ACTION_SCREEN_OFF,启动我们自己的lockscreen界面(activity)

 

2.       屏蔽系统的LockScreen

其实系统的LockScreen的就是Keyguard,我们只要在启动service时,调用

KeyguardManager mKeyguardManager = (KeyguardManager)getSystemService(Context.KEYGUARD_SERVICE); 
KeyguardLock mKeyguardLock = mKeyguardManager.newKeyguardLock("Activity1"); 
mKeyguardLock.disableKeyguard(); 

 

3.       另外,lockscreen界面(activity),我们只需要把所有的按键消息屏蔽掉。并在上面添加我们需要的内容即可。

 

但有几个问题是目前无法解决的

1.       重启机器,刚刚开机时,原生的锁屏界面会暂时弹出来,这是因为这个action是系统发出来的,

而此时我自己的service还没有start。待我的service启动之后,随之会把它屏蔽掉。

2.       Notification可以被拉下来

3.       Home键会解锁,这个问题是只有GALAXY手机上会出现,其它设备上没有这个问题,可能是GALAXY对其做了改动。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics