2013-08-25 26 views
1

StackOverflow上有幾個與打開/關閉屏幕相關的問題,但是沒有一個解決方案適用於我。通過Android中的代碼切換屏幕開關

  1. 我不想使用喚醒鎖,因爲它不再被推薦。我的應用程序使用WindowManager.LayoutParams.FLAG_TURN_SCREEN_ON來喚醒屏幕,這非常簡單,並且不會導致在忘記釋放電池時耗盡整個電池的情況。

  2. 將亮度設置爲0,如下面的代碼也不起作用。在我的兩款測試手機(三星Galaxy S2和S3)上,此代碼只會使屏幕變暗,但不會關閉屏幕。

    layoutParam.screenBrightness = 0; 
    layoutParam.flags |= LayoutParams.FLAG_KEEP_SCREEN_ON; 
    getWindow().setAttributes(layoutParam); 
    

我的場景 - 這是一個VoIP的應用程序,它原來在屏幕上的來電,但後來需要關掉屏幕(但保持CPU運行),如果用戶持有的手機達他們的臉。接近傳感器代碼運行良好。

回答

0

您是否試過更改Screen off timeout值?

Settings.System.putInt(getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, 1000); 

1000的值意味着1000毫秒或1秒,您可以更改它,如果你想。 後來改回標準這樣

Settings.System.putInt(getContentResolver(),Settings.System.SCREEN_OFF_TIMEOUT,-1); 

這在清單文件requiers權限:

<uses-permission android:name="android.permission.WRITE_SETTINGS"/> 
+0

不,不行。屏幕保持打開狀態。 –