2012-06-02 95 views
2

我需要在單個頁面上更改屏幕亮度,以使QR碼閱讀更容易。Android更改屏幕亮度。是否需要特別許可?

我想以最小侵入性的方式爲用戶做到這一點。我真的不想將它們發送到系統設置,只是爲了讓一項活動更加明亮。另一方面,如果有解決方法,我不想要求額外的權限?

我可以提示用戶根據需要動態提供權限嗎?如果不是,是否有另一個權限,包括android.provider.Settings.System.SCREEN_BRIGHTNESS權限?

我想減少用戶所需的權限總數。

回答

4

如果只是爲您的應用程序,我敢肯定你不需要請求它的權限。要改變整個系統的亮度。

這裏是一個有用的鏈接,我發現:

http://android-er.blogspot.com/2011/02/change-android-screen-brightness.html

從鏈接:

WindowManager.LayoutParams layoutParams = getWindow().getAttributes(); 
layoutParams.screenBrightness = BackLightValue; 
getWindow().setAttributes(layoutParams); 
+0

這似乎工作。自動亮度有多常見?何時啓用/禁用? –

+0

這也適用於1.6+或只有2.1+? –

+0

只取決於用戶設置的內容。我不確定它也不管用;將你的亮度設置爲自動,測試它,看看會發生什麼。此外,似乎是從API級別3:http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#screenBrightness – kcoppock