usniyo 2012-10-27 05:07 采纳率: 0%
浏览 5675
已采纳

android,在设置亮度的时候,为什么没有立即生效?

android,在设置亮度的时候,为什么没有立即生效?要关闭屏幕或自动变暗后,才生效。改变自动调节或手动调节模式时,倒是一小会儿后生效了。请问,如何解决?

public void setBrightness(int brightness)
{
    // if (sysAutomaticMode)
    // return;

    Settings.System.putInt(context.getContentResolver(),
            Settings.System.SCREEN_BRIGHTNESS, brightness);
}

android原码使用了:

IPowerManager power = IPowerManager.Stub.asInterface(
                    ServiceManager.getService("power"));
            if (power != null) {
                power.setBacklightBrightness(brightness);
            }

但是自己写的用不了IPowerManager啊。

  • 写回答

5条回答

  • usniyo 2013-01-17 03:50
    关注

    使用WindowManageraddView(View view, LayoutParams params)中添加一个透明的无内容的View并在params中设置屏幕亮度,在add完成之后用removeView(view)删除即可。详细请参考android桌面悬浮框的实现这部分知识。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥20 sub地址DHCP问题
  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大