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对其做了改动。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值