English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

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);
    }

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

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