簡體   English   中英

有沒有一種方法可以檢查屏幕是打開還是關閉?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM