Android获取屏幕状态

来源:互联网 发布:软件测试需要linux 编辑:程序博客网 时间:2024/04/20 11:07
  这几天都在头疼锁屏的问题,因为我要获取屏幕是否锁屏,并在onPause()里进行判断,可是广播发的太慢了,是在onPause()之后才发,而且不同手机发的时间还不同。

  一开始的解决办法是在onPause()中延迟一段时间,再根据发出的广播判断是否锁屏,可是不同手机接收到广播的时间好像都不一样,而且同一个手机每次接收到广播的时间也不是一定相同,这么做会使得有些手机会有问题。


在网上找的一个解决办法,使用PowerManager

       /**       * 得到屏幕状态       * @param mContext       * @return false表示锁屏       */       public static boolean getScreenState(Context mContext){            PowerManager manager = (PowerManager) mContext                        .getSystemService(Activity. POWER_SERVICE );             return manager.isScreenOn ();      }

这个比接收广播要早一点,而且不同手机好像得到的时间差不多

问题解决
0 0
原创粉丝点击