【问题标题】:Android brightness change notification (or status bar roll-up notification)Android 亮度变化通知(或状态栏上卷通知)
【发布时间】:2012-08-07 20:28:08
【问题描述】:

在 Android 中,用户可以通过“向下滚动”状态栏(或通知栏,无论在 Android 中如何调用)并在那里更改亮度来更改亮度。

我需要在我的应用中显示亮度滑块。我知道如何获取系统亮度值,但问题是如何知道用户是否更改了亮度?当用户卷起通知栏时,我没有得到 onResume。我如何知道亮度发生了变化或通知栏向用户显示了我的活动?

【问题讨论】:

标签: android


【解决方案1】:

尝试使用可无限期运行(或直到您希望它运行)的可运行对象创建一个线程,您可以在其中监听当前亮度的变化。这可以很容易地完成

  1. 找到原始屏幕亮度并将其分配给名为 oldScreenBrightness 的变量。

  2. 在你的线程检查中

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

【讨论】:

  • 天哪,这是唯一的方法吗?当发布我的问题时,我正要写“请不要告诉我我必须诉诸投票”:) android 是荒谬的 :(
  • 我过去曾研究过这个问题,经过大量研究后,我得出结论,这是唯一的解决方案。 Android 实际上非常了不起,但我想说的是,你的 Android 是一个非常小众的案例。
  • 经过两年的 iPhone 编程和一年的 Android 编程,我对后者有自己的看法;)感谢您的回答,如果没有人提出更多建议,我会在几天后接受基于事件的解决方案。
  • 哈哈很好,我想我应该试试 iPhone 开发,现在只要 Objective-C 看起来不那么乱。
  • 是的,过去两个月我在那里实习。对不起,你是谁?
【解决方案2】:

进入设置 选择显示 选择通知面板 查看 亮度调节

【讨论】:

  • 这不是编程方式,只需更改设置即可。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-15
相关资源
最近更新 更多