2012-08-07 62 views
1

在Android用戶可以通過「滾動」狀態欄(或通知欄,不管這在Android中調用)並改變亮度來改變亮度。Android的亮度變化通知(或狀態欄彙總通知)

我需要在我的應用程序中顯示亮度滑塊。我知道如何獲得系統亮度值,但問題是如何知道用戶是否改變了亮度?當用戶彙總通知欄時,我得不到onResume。我如何知道亮度已更改或通知欄向用戶透露了我的活動?

回答

3

嘗試創建一個線程,該線程的運行時間無限期(或直到您希望運行)您可以在其中偵聽當前亮度的變化。這可以很容易地

  1. 進行查找初始屏幕亮度,並將其分配到一個名爲oldScreenBrightness變量。

  2. 在你的線程檢查

    currentScreenBrightness = getCurrentScreenBrightness(); 
    if (oldScreenBrightness != currentScreenBrightness) 
    { 
        doSomething() 
        oldScreenBrightness = currentScreenBrightness 
    } 
    else 
    { 
        doNothing or doSomethingElse 
    } 
    
+1

我的天啊,這是唯一的辦法?當我發佈我的問題,我正要寫「,請不要告訴我,我必須訴諸投票」:) A​​ndroid是荒謬的:( – 2012-08-08 07:09:02

+0

我已經調查了這個問題在過去和經過大量的研究後,我來到結論是這是唯一的解決方案Android實際上是非常了不起的,但是你在一個非常有利的情況下我會說 – 2012-08-08 10:15:49

+0

經過兩年的iPhone和一年的編程Android我對後者有自己的看法;)謝謝答案是,如果沒有人提出更多基於事件的解決方案,我會在幾天後接受它。 – 2012-08-08 10:38:30

-1

轉到設置 選擇顯示 選擇通知面板 檢查 亮度調節

+0

這不是編程方式,只是改變設置。 – omid 2014-03-06 10:50:45