androidscreen-brightness

How to detect if screen brightness has changed in Android?


I have searched extensively and couldn't find a similar question.

I would like to know if there is any way to detect when the screen brightness of a mobile device has been changed.

I have already tried to store the old value when the app starts and repeatedly check usingSettings.System.getInt(getContentResolver(),Settings.System.SCREEN_BRIGHTNESS); to compare the initial and final value of screen brightness , which is not a good way of doing so.

Thanks

EDIT: This question states that I have already tried the solution of using Settings.System.SCREEN_BRIGHTNESS to get current screen values and periodically check for screen brightness changes. I am looking for a more efficient way of doing such an operation.


Solution

  • yes, there is a way by using ContentObserver:

    other useful links: