2012-06-02 58 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