private final String ACT_SCREEN_OFF = "android.intent.action.SCREEN_OFF";
private final String ACT_SCREEN_ON = "android.intent.action.SCREEN_ON";这两个action 能够监听到屏幕亮和暗的状态,但是当屏幕亮的时候并不是解锁的状态
当我按下电源键,屏幕锁住,然后再按一下,屏幕亮了,但是屏幕依然是锁住的,我想问下怎么样才能监听到解锁的那个状态,求指点!!!!

解决方案 »

  1.   

    自己解决了,修改framwork层了
      

  2.   

    LZ,牛人,都开始改framework层了
      

  3.   

    楼主,分享下哈.我最近也在修改framework层,在改一个如果没有信号时,在锁屏界面显示无网络覆盖
      

  4.   


    在framwork层下,类 com.android.internal.policy.impl.KeyguardViewMediator 
    负责整个锁屏机制,当mHandler接收到KEYGUARD_DONE时会调用mContext.sendBroadcast(mUserPresentIntent);
    这里用到的广播是只能被(system)系统调用,
    mUserPresentIntent = new Intent(Intent.ACTION_USER_PRESENT);//该action只能被系统调用
    mUserPresentIntent.addFlags(Intent.FLAG_RECEIVER_REPLACE_PENDING);然后我们就不用管啦,我做的是在解锁后跑一段动画,所以我在sendBroadcast(****)后加速动画就OK了。
    当然我这个肯定不是最好的方法,大家可以一起研究哈。。
      

  5.   

    楼主,我想请问你一个问题啊,我的private final String ACT_SCREEN_ON = "android.intent.action.SCREEN_ON";这个广播怎么监听不到啊,看网上也有说这个监听不到的啊,为啥你能监听到,有什么解决方案么? 麻烦告诉下,直接email给我吧([email protected]),谢谢了!!
      

  6.   


    不好意思,在学校拿毕业证,今天才回来上班,邮件已发送!Sorry!
      

  7.   

    怎么解决的,也发我一下啊。EMAIL:[email protected]
      

  8.   

    楼主,我也是毕业生啊,想请教一下,如何才能发送锁屏的广播(sdk说系统才能发送的),我想做一键锁屏功能,求教啊~   邮箱:[email protected]
      

  9.   

    LZ求指教啊
    [email protected]
      

  10.   

    咨询一下楼主,解锁的广播都可以自己在frame层修改发出来,但是锁屏的广播和android.intent.action.SCREEN_OFF不是一个广播,怎么在锁屏的时候发广播?