[英]Is there a method to check if the screen is turned on or off?
我需要一项服务来进行gps更新,但仅限于屏幕打开时。 有没有办法做到这一点? 我的想法是与“警报管理器”和“警报接收器”类一起工作,该类在屏幕打开且正在启动服务时会发出声音。 但是Alarmreciever如何检查屏幕是否打开?
您可以使用此方法检查屏幕是否打开/关闭。
public boolean isScreenOn(Context context) {
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
DisplayManager dm = (DisplayManager) context.getSystemService(Context.DISPLAY_SERVICE);
boolean screenIsOn = false;
for (Display display : dm.getDisplays()) {
if (display.getState() != Display.STATE_OFF) {
screenIsOn = true;
}
}
return screenIsOn;
} else {
PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
//noinspection deprecation
return pm.isScreenOn();
}
}
像这样称呼它
isScreenOn(YourActivity.this);
尝试这个
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
boolean isScreenOn = pm.isScreenOn();
if (isScreenOn){
//Screen is on
}else {
//Screen is off
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.