簡體   English   中英

如果API級別為4,如何檢測屏幕是打開還是關閉?

[英]How to detect whether screen is on or off if API level is 4?

我想知道如何在Android 1.6上檢測屏幕暗淡或亮度。

我在API Level 7上找到了一個解決方案。它很容易開發:

PowerManager pm = (PowerManager)
getSystemService(Context.POWER_SERVICE);
boolean isScreenOn = pm.isScreenOn();

但我需要Android 1.x的解決方案。

你能建議我嗎?

謝謝。

對於屏幕開關狀態,您可以嘗試使用ACTION_SCREEN_ONACTION_SCREEN_OFF Intent ,如本博客文章所示: http//thinkandroid.wordpress.com/2010/01/24/handling-screen-off-and-screen-上意圖/

使用ACTION_SCREEN_ON的方法對我不起作用。 經過一些不同的解決方案,這段代碼終於解決了我的問題:

/**
 * Is the screen of the device on.
 * @param context the context
 * @return true when (at least one) screen is on
 */
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 screenOn = false;
        for (Display display : dm.getDisplays()) {
            if (display.getState() != Display.STATE_OFF) {
                screenOn = true;
            }
        }
        return screenOn;
    } else {
        PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
        //noinspection deprecation
        return pm.isScreenOn();
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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