其他分享
首页 > 其他分享> > android – UiModeManager – NightMode(Froyo)

android – UiModeManager – NightMode(Froyo)

作者:互联网

我一直试图使用UiModeManager的nightmode功能关闭应用程序中按钮的背光.默认的桌面时钟应用程序(Nexus One)在变暗时关闭背光,我也想这样做.

我尝试使用以下代码:

UiModeManager mgr = (UiModeManager)
getSystemService(UI_MODE_SERVICE);
mgr.setNightMode(UiModeManager.MODE_NIGHT_YES);

UiModeManager.setNightMode(int mode)文档说明了这一点:

Sets the night mode. Changes to the
night mode are only effective when the
car or desk mode is enabled on a
device.

这是否意味着设备必须在桌面上?
我可以使用UiModeManager.enableCarMode(int flags)方法将设备设置为汽车模式.这样可以正常工作,但它不会关灯,只会使屏幕的背光变暗.

有没有办法在不使用物理桌面工作站的情况下将设备设置为桌面模式?由于FroYo源代码尚未发布,我无法查看内置的Desk Clock应用程序.

解决方法:

回答我自己的问题,因为Froyo源代码刚刚发布:

我认为你不必使用UIModeManager类.这就是DeskClock应用程序的作用:

Window win = getWindow();
WindowManager.LayoutParams winParams = win.getAttributes();

//Look at this!
winParams.buttonBrightness = WindowManager.LayoutParams.BRIGHTNESS_OVERRIDE_OFF;

win.setAttributes(winParams);

..它也适合我.

标签:android,android-2-2-froyo
来源: https://codeday.me/bug/20190627/1299906.html