关闭按钮的背光
我正在开发一个可能在晚上使用的Android应用程序。因此,我需要关闭按钮的背光灯。我怎样才能做到这一点?在我自己的手机上,经过一段时间后背光会关闭,但在摩托罗拉Droid上我不认为会发生这种情况。关闭按钮的背光
我正在使用wakelock来保持屏幕。我应该使用另一面旗帜吗?我该怎么做?
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, WAKE_LOCK_TAG);
mWakeLock.acquire();
非常感谢!
// Kaloer
据我所知,没有API控制按钮的背光源 - 对不起!
好的..谢谢你的回答:) – Kaloer 2009-12-27 15:22:20
在2.2它是有API的 – pengwang 2011-01-06 11:35:17
@pengwang,请你在列表中粘贴一个链接到这个API? – greenoldman 2012-10-10 18:56:26
有一个hack:
private void setDimButtons(boolean dimButtons) {
Window window = getWindow();
LayoutParams layoutParams = window.getAttributes();
float val = dimButtons ? 0 : -1;
try {
Field buttonBrightness = layoutParams.getClass().getField(
"buttonBrightness");
buttonBrightness.set(layoutParams, val);
} catch (Exception e) {
e.printStackTrace();
}
window.setAttributes(layoutParams);
}
我不知道我是否会称之为“黑客”。这是反思。 – gobernador 2012-08-26 20:00:48
这很有趣。有没有办法从活动外部访问'getWindow()',比如在服务中? – faizal 2014-07-15 07:38:59
我看这是大部分是在一个评论链接回答一个老问题,但要清楚到别人谁碰到这个问题来了,这是我自己的回答。
它的内置自API 8(doc)
float android.view.WindowManager.LayoutParams.buttonBrightness
这是我用我的应用程序的一个什么样的稍加修改/简体版(不含无关的代码)。需要内部类来防止在不支持它的旧平台上启动时发生崩溃。
private void nightMode() {
Window win = getWindow();
LayoutParams lp = win.getAttributes();
if (prefs.getBoolean("Night", false))
changeBtnBacklight(lp, LayoutParams.BRIGHTNESS_OVERRIDE_OFF);
else changeBtnBacklight(lp, LayoutParams.BRIGHTNESS_OVERRIDE_NONE);
win.setAttributes(lp);
}
private void changeBtnBacklight(LayoutParams lp, float value) {
if (Integer.parseInt(Build.VERSION.SDK) >= 8) {
try {
new BtnBrightness(lp, value);
} catch (Exception e) {
Log.w(TAG, "Error changing button brightness");
e.printStackTrace();
}
}
}
private static class BtnBrightness {
BtnBrightness(LayoutParams lp, float v) {
lp.buttonBrightness = v;
}
}
有没有办法从活动外部访问'getWindow()',就像在服务中一样? – faizal 2014-07-15 07:39:33
您是否找到解决此问题的解决方案?我也想关闭按钮上的背光灯。 – 2010-11-05 09:30:44
是的,我做过,或者它是Android 2.2的新功能。看看这里http://*.com/questions/2892160/uimodemanager-nightmode-froyo – Kaloer 2010-11-05 16:01:25