Android 判断屏幕开关状态方式总结

Android判断屏幕开关状态

 方法一:使用系统服务

PowerManager pm= (PowerManager) mContext.getSystemService(Context.POWER_SERVICE);

    if(!pm.isScreenOn())
    {
      //熄屏状态
    }

方法二:使用广播



public class ScreenReceiver extends BroadcastReceiver {




  @Override
  public void onReceive(Context context, Intent intent) {




    if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
      
//收到亮屏广播

    } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {

//收到熄屏广播

    }


  }
  }

//注册广播
ScreenReceiver sOnBroadcastReciver=new ScreenReceiver();
    IntentFilter recevierFilter=new IntentFilter();
    recevierFilter.addAction(Intent.ACTION_SCREEN_ON);
    recevierFilter.addAction(Intent.ACTION_SCREEN_OFF);
    registerReceiver(sOnBroadcastReciver, recevierFilter);


//取消注册
if(sOnBroadcastReciver!=null)
    {
      unregisterReceiver(sOnBroadcastReciver);
    }


注意:亮屏和熄屏广播只能通过动态注册才能收到。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!